Make ObjectPool thread-safe so we don't need to hold the lock during object construction/destruction
Simplify the interface of Intrusive:[de]prioritize
Let TransportImpl::processProcket return a boolean to indicate whether the packet is retained by the transport (remove most driver->release in Sender|Receiver
Eliminate Message::messageTimeout in both Sender and Receiver
Extract a common handleIncomingPacket method to execute common logic shared in handleXXXPacket
Clean up destructors in both Sender and Receiver
Sender.h: perform cancelTimeout in the new Message::setStatus method
Sender.cc: eliminate a lot of duplicate code that removes messages from the send queue by moving the code into Message::setStatus
Sender.cc: eliminate duplicate code shared by handleUnknownPacket and Sender::sendMessage by extracting a startMessage method
List of major changes:
ObjectPool
thread-safe so we don't need to hold the lock during object construction/destructionIntrusive:[de]prioritize
TransportImpl::processProcket
return a boolean to indicate whether the packet is retained by the transport (remove mostdriver->release
inSender|Receiver
Message::messageTimeout
in bothSender
andReceiver
handleIncomingPacket
method to execute common logic shared inhandleXXXPacket
Sender
andReceiver
Sender.h
: performcancelTimeout
in the newMessage::setStatus
methodSender.cc
: eliminate a lot of duplicate code that removes messages from the send queue by moving the code intoMessage::setStatus
Sender.cc
: eliminate duplicate code shared byhandleUnknownPacket
andSender::sendMessage
by extracting astartMessage
method