int stat_num = 0;
off_t stat_inq = 0, stat_inqb = 0;
+off_t stat_disq = 0, stat_disqb = 0;
off_t stat_outq = 0, stat_outqb = 0;
/***************************/
if (logger) {
logger->inc("in");
logger->inc("inb", sz);
- logger->set("inqb", stat_inqb);
- logger->set("inq", stat_inq);
}
}
list<Message*> in;
in.splice(in.begin(), incoming);
+ assert(stat_disq == 0);
+ stat_disq = stat_inq;
+ stat_disqb = stat_inqb;
+ stat_inq = 0;
+ stat_inqb = 0;
+
// drop lock while we deliver
incoming_lock.Unlock();
Message *m = in.front();
in.pop_front();
- stat_inq--;
- stat_inqb -= m->get_payload().length();
+ stat_disq--;
+ stat_disqb -= m->get_payload().length();
if (logger) {
- logger->set("inq", stat_inq);
- logger->set("inqb", stat_inqb);
+ logger->set("inq", stat_inq+stat_disq);
+ logger->set("inqb", stat_inqb+stat_disq);
logger->inc("dis");
}
int TCPMessenger::get_dispatch_queue_len()
{
- return stat_inq;
+ return stat_inq+stat_disq;
}