Details
-
Sub-task
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
-
None
Description
I'm not yet 100% sure about this yet, but it seems reasonable to me.
Currently outgoingQueue is a simple list. Whether additional items can be added to the queue and the logic to add sth to the queue is handled by ClientCnxn.
class OutgoingQueue
- isOpen
+ add(Packet) / offer(Packet)
+ poll() / take()
OutgoingQueue must have knowledge about the state of SendThreat and may only accept additional Packets if SendThread has not yet terminated.
OutgoingQueue knows, when it must call ConnectionLoss on the remaining Packets in its queue.