| 99 | } |
| 100 | |
| 101 | int EventManager::GetEvents(string *data, uint32_t want_num) { |
| 102 | if (want_num == 0) { |
| 103 | want_num = option_->GetBinLogSvrConfig()->GetMaxEventCountToPush(); |
| 104 | } |
| 105 | |
| 106 | size_t get_num = 0; |
| 107 | int ret = OK; |
| 108 | while (get_num < want_num) { |
| 109 | EventData event_data; |
| 110 | ret = event_storage_->GetEvent(&event_data, get_num == 0); |
| 111 | if (ret) { |
| 112 | if (ret == EVENT_EMPTY) { |
| 113 | if (get_num == 0) { |
| 114 | ColorLogInfo("%s no data", __func__); |
| 115 | } else { |
| 116 | ret = OK; |
| 117 | break; |
| 118 | } |
| 119 | } |
| 120 | break; |
| 121 | } |
| 122 | LogVerbose("get event %s data size %zu", event_data.gtid().c_str(), event_data.data().size()); |
| 123 | if (event_data.data().size() > 0) |
| 124 | data->append(event_data.data()); |
| 125 | ++get_num; |
| 126 | } |
| 127 | return ret; |
| 128 | } |
| 129 | |
| 130 | void EventManager::Notify() { |
| 131 | event_storage_->Notify(); |
nothing calls this directly
no test coverage detected