Description
The current draft only considers two encodings, "reliable" and "datagram". Early work on MOQ shows interest for a "multi stream" structure, in which a media stream is published as a series of QUIC streams, each containing a group of objects -- this structure was pioneered in the RUSH implementation. In case of congestion, the multi-stream structure allows clients or server to drop old "group of objects" and either jump on the very last one, or maybe adopt a sampling strategy in which some group of objects are completely transmitted and others are completely ignored. This seems superior to simple streams, in which congestion will cause increased delays, and also superior to datagrams, in which congestion will cause random losses.
The QUICR protocol could easily be adapted to support RUSH like encodings. The consumer subscribes to a media stream, and then the server opens a set of QUIC streams as group of objects become available. On each of those QUIC streams, the server sends first a "stream header" explaining the origin, name, and position of the Group of Objects in the overall media stream, followed by a set of media objects in the group. Effectively, the main requirement is to define this mapping and the stream header.