Routes incoming messages to reassemblers, keyed by (bare peer JID,
streamId). Chunks arriving before expect() is called are buffered briefly:
stanza events fire synchronously in arrival order, so a chunk in the same
network flush as the IQ result can be dispatched before the requester's
continuation registers the reassembler.
One shared router per session (acquire/release) so multiple clients and
servers on a session don't double-buffer orphans.
Routes incoming messages to reassemblers, keyed by (bare peer JID,
streamId). Chunks arriving before expect() is called are buffered briefly:
stanza events fire synchronously in arrival order, so a chunk in the same
network flush as the IQ result can be dispatched before the requester's
continuation registers the reassembler.
One shared router per session (acquire/release) so multiple clients and servers on a session don't double-buffer orphans.