in platform/consensus/execution/geo_transaction_executor.cpp [50:73]
void GeoTransactionExecutor::SendGeoMessages() {
std::vector<std::unique_ptr<Request>> messages;
while (!IsStop()) {
auto message = queue_.Pop(100);
if (message != nullptr) {
messages.push_back(std::move(message));
while (!IsStop() && messages.size() < batch_size_) {
auto message = queue_.Pop(0);
if (message == nullptr) {
break;
}
messages.push_back(std::move(message));
if (messages.size() >= batch_size_) {
break;
}
}
}
if (messages.size() > 0) {
SendBatchGeoMessage(messages);
messages.clear();
}
}
return;
}