Skip to content

Clarify how SUBSCRIBE filters work, allow Absolute start before Latest #927

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 10 commits into from
Apr 19, 2025

Conversation

afrind
Copy link
Collaborator

@afrind afrind commented Apr 14, 2025

This is an alternate to #853, attempting to resolve #758.

Fixes: #758
Closes #726

@afrind afrind added Subscribe Related to SUBSCRIBE message and subscription handling Design Issues or PRs that change how MoQ works including the wire format. labels Apr 14, 2025
@afrind afrind requested review from martinduke and fluffy April 14, 2025 14:29
Copy link
Contributor

@martinduke martinduke left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is fine.

@afrind afrind added the Needs Discussion Tags for issues which need discussion, ideally at an interim or IETF meeting. label Apr 14, 2025
Copy link
Collaborator

@ianswett ianswett left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some mostly editorial suggestions, but LG

@@ -1391,31 +1391,41 @@ single session and publishers SHOULD treat this as a protocol violation.
The subscriber specifies a filter on the subscription to allow
the publisher to identify which objects need to be delivered.

There are 3 types of filters:
All filters have a Start Location and an optional End Group. Only objects
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

wonder why is it EndGroup and not End Location?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

#593 removed End Object from Absolute Range.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm . I missed this somehow. Thanks for sharing the PR. That PR does say this "Specifies a closed subscription starting at StartObject
in StartGroup and ending at EndObject in EndGroup."

I wonder if removing the EndObject was resolving any issue. Sorry for missing it earlier.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ianswett do you have the linked issue for that?

the subscription starts with the first published or received group.
The `Largest Object` is defined to be the object with the largest Location
({{location-structure}}) in the track from the perspective of the endpoint
processing the SUBSCRIBE message.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

since the term "LargestObject" is used in multiple places, may be it will benefit from a sub-section so that all the usages refer to the same defintion. It need not be in this PR and we can create a new issue to track, if it helps.

The Start Location MAY be less than the `Largest Object`. There is no End Group
- the subscription is open ended. To receive any object that is published or
is received after this subscription is processed, a subscriber can use an
AbsoluteStart filter with Start Location = {0, 0}.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just to confirm this is a way of supporting all objects ?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, all Objects published or received via subscription pass a filer that starts at {0,0} and has no End Group.

Copy link
Collaborator

@suhasHere suhasHere left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this PR. This seems to be clarifying. I did had few clarificatin questions and some design comments too. Please let me know your thoughts. Thanks

@Sy0307
Copy link

Sy0307 commented Apr 15, 2025

Maybe adding some cases like subgroup can be clearer to readers?

@afrind afrind merged commit 708e740 into main Apr 19, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Design Issues or PRs that change how MoQ works including the wire format. Needs Discussion Tags for issues which need discussion, ideally at an interim or IETF meeting. Subscribe Related to SUBSCRIBE message and subscription handling
Projects
None yet
Development

Successfully merging this pull request may close these issues.

LatestObject Subscribe filter is ambiguous.
8 participants