Closed frochet closed 2 years ago
I don't see why we should constrain one frame per record, especially for control frames like ack frames. This is only important for bulk transfers that are not necessarily the most important use cases. For the ordering of the information, this is an interesting point to discuss.
It's not as straightforward as frames are Type-values unit so one has to find the type of the Stream frame.
Btw @obonaventure, it's only constraining records to have at most one stream frame, starting with the data.
I don't see why we should constrain one frame per record, especially for control frames like ack frames. This is only important for bulk transfers that are not necessarily the most important use cases. For the ordering of the information, this is an interesting point to discuss.
Ok, let me try to be more clear. We should not constraint 1 frame per record, we should contraint 1 frame that contains APPDATA per record. That means some record can contain any number of control frame, and we can have also any number of control frame after a data frame within the same record (but not before). This has significant performance benefit
Instead of:
we should do:
and constraining 1 Stream frame per record.
That allows implementing zero-copy easily. Or it is just making the same mistakes than Quic IMO.