moq-wg / moq-transport

draft-ietf-moq-transport
Other
70 stars 16 forks source link

Add OBJECTS_DROPPED on the control stream #434

Closed ianswett closed 1 month ago

ianswett commented 2 months ago

This is intended to be complementary to #429 by adding a SUBSCRIBE specific mechanism to indicate hop-by-hop Objects that will not be delivered. Because this is specific to a SUBSCRIBE, it's not intended to be cacheable.

Builds on ideas in #423

Each SUBSCRIBE could be moved to their own bidi stream and this could be sent there, but that change can be made separately.

Fixes #345

kixelated commented 2 months ago

Another 3rd option Cullen would be a control stream per SUBSCRIBE.

That way OBJECTS_DROPPED would only block SUBSCRIBE_END, which almost sounds like a feature?

fluffy commented 2 months ago

Another 3rd option Cullen would be a control stream per SUBSCRIBE.

That way OBJECTS_DROPPED would only block SUBSCRIBE_END, which almost sounds like a feature?

I can easily imagine something like that but I think we need to deal with the following requirements one way or another:

  1. If we have three subscribes for three tracks A, B, C and A is always more important than B , which is more important than C. You don't want the OBJ_DROP messages for B to have stop all the data on A track from flowing. (and I will hand wave the what is newer / older / priority etc but you can see how as we dig into that, we will still need to solve some version of this )

  2. If a publisher is sending a ton of OBJ_DROP to a subscriber on a badly congested link, it must not result in a situation where the subscriber can not tell the publisher to end the subscription. Even when the bandwidth each direction is highly asymmetrical.

ianswett commented 2 months ago

The audio stream use case is an interesting one.

I can imagine this instead being "Anything prior to this Object that you didn't receive, you probably won't"? That means it doesn't scale with the number of Objects.

fluffy commented 2 months ago

I think I prefer #434 to this PR.

ianswett commented 1 month ago

The current direction is to not include a specific signal for dropping, so closing this PR.