MCPcopy Create free account
hub / github.com/Tencent/phxsql / GetEvents

Method GetEvents

phxbinlogsvr/core/handler/event_manager.cpp:101–128  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

99}
100
101int 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
130void EventManager::Notify() {
131 event_storage_->Notify();

Callers

nothing calls this directly

Calls 6

ColorLogInfoFunction · 0.85
LogVerboseFunction · 0.85
GetBinLogSvrConfigMethod · 0.80
GetEventMethod · 0.80
appendMethod · 0.80

Tested by

no test coverage detected