Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
proton-c-0.39.0
-
None
-
None
Description
PROTON-2857 takes special action in the case of an outgoing streaming link delivery during pn_link_send(). At that point, we know that the delivery is the current one for the link and the last for that link that may be on the tpwork queue with message data to send.
It could be possible to continually refill and not fully drain the delivery in pni_process_tpwork_sender().
A simple check if bytes have been sent on the wire since the last pn_link_send, and further if the delivery is on the tpwork queue, can bypass this problem by moving the delivery to the back of the queue and allow other links to progress.