Skip to content

Datagrams and streams intermixed in the same subgroup. #1381

@martinduke

Description

@martinduke

PR #1350 allowed Datagrams and streams to coexist on the same track, as agreed in Toronto.

Here are the minutes of that discussion: https://datatracker.ietf.org/doc/minutes-interim-2025-moq-22-202509251330/ (Ctrl+F for "Delivery Timeout Mix and Match")

This PR is missing two parts of that discussion:

  1. We agreed that a single subgroup cannot contain both datagrams and streams.
  2. I noted that we have to encode the subgroup ID in the DATAGRAM frame, or reserve a specific subgroup ID for datagrams, or something. The current mapping where subgroup_id == object_id does not work if subgroups have arbitrary IDs. I would propose that subgroup ID zero be reserved for datagrams. Datagrams exist outside of stream priorities, so that sort of works. If pub and sub priorities, and group IDs , are equal, it makes sense that datagrams would be delivered to QUIC first. Zero is a special subgroup that has no implied dependencies between its objects.

Upon further reflection, I'm not sure that the current state completely breaks any functions of the protocol, but it does confuse the idea that a subgroup has a particular priority. I would not like to wave through this change to the object model without at least discussing it.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions