To me, if the goal is to measure the transfer during a certain time (vs. a fixed amount of bytes), it feels like the different streams should get reset to stop transferring as quickly as possible.
With the current way of waiting a bit to drain the different streams, it feels like it will be tricky to find a good timeout for that, plus retransmissions done on packets from the end of the queue might impact the results. I'm probably missing some downsides, but I think the default mode should force a reset of the different streams.
(But it might be good to keep it, if easy, for those who are interested in measuring the end of connections, or if it is planned to add a new option to send a certain amount of bytes instead of sending as much as possible until a timeout is reached.)
To me, if the goal is to measure the transfer during a certain time (vs. a fixed amount of bytes), it feels like the different streams should get reset to stop transferring as quickly as possible.
With the current way of waiting a bit to drain the different streams, it feels like it will be tricky to find a good timeout for that, plus retransmissions done on packets from the end of the queue might impact the results. I'm probably missing some downsides, but I think the default mode should force a reset of the different streams.
(But it might be good to keep it, if easy, for those who are interested in measuring the end of connections, or if it is planned to add a new option to send a certain amount of bytes instead of sending as much as possible until a timeout is reached.)