ACKs handling in sending multiple files #3227
Replies: 1 comment 7 replies
-
Not sure but it seems you're saying that streams created in a particular order don't necessarily get received in that same order. Each stream is independent of one another. A primary goal/design of QUIC is that one stream shouldn't delay another.
My guess is that you're using send buffering (it's on by default). Which means MsQuic copies the data locally (just in memory) and then completes your send. If you want the send to be completed only after the peer (QUIC stack, not app) has received the data, then you should turn off send buffering (btw, this is a more performant design too, but has caveats). Please see SendBufferingEnabled. |
Beta Was this translation helpful? Give feedback.
-
I am trying to send multiple files using the msquic and for each file, a new stream is being created and at the receiver side I print the filename once received but I receive all the files in one go so the order is not maintained, while debugging i found that the streamcallback event QUIC_STREAM_EVENT_SEND_COMPLETE for each file occurs only after all the files have been sent. Ideally, the working should be after each file sent the quic_Stream_event_send_complete should run and clear the stream(trigger for file sent complete on receiver side) but it all happens only at the end for all the streams opened. Is there a way to change this?
Beta Was this translation helpful? Give feedback.
All reactions