}
}
-void LogClient::reset_session()
-{
- Mutex::Locker l(log_lock);
- last_log_sent = last_log - log_queue.size();
-}
-
-Message *LogClient::get_mon_log_message()
+Message *LogClient::get_mon_log_message(bool flush)
{
Mutex::Locker l(log_lock);
+ if (flush) {
+ // reset session
+ last_log_sent = last_log - log_queue.size();
+ }
return _get_mon_log_message();
}
}
bool handle_log_ack(MLogAck *m);
- void reset_session();
- Message *get_mon_log_message();
+ Message *get_mon_log_message(bool flush);
bool are_pending();
LogChannelRef create_channel() {
return true;
}
-void MonClient::send_log()
+void MonClient::send_log(bool flush)
{
if (log_client) {
- Message *lm = log_client->get_mon_log_message();
+ Message *lm = log_client->get_mon_log_message(flush);
if (lm)
_send_mon_message(lm);
more_log_pending = log_client->are_pending();
_send_mon_message(waiting_for_session.front());
waiting_for_session.pop_front();
}
-
_resend_mon_commands();
-
- if (log_client) {
- log_client->reset_session();
- send_log();
- }
+ send_log(true);
if (active_con) {
std::swap(auth, active_con->get_auth());
global_id = active_con->get_global_id();
LogClient *log_client;
bool more_log_pending;
- void send_log();
+ void send_log(bool flush = false);
std::unique_ptr<AuthMethodList> auth_supported;