-
Notifications
You must be signed in to change notification settings - Fork 41
Allow unknown ranges in a FETCH response #1331
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
base: main
Are you sure you want to change the base?
Conversation
This is a proposal to address several open FETCH issues. Replace UNKNOWN_STATUS_IN_RANGE with a data-stream encoding of an UNKNOWN range. This requires leaving DOES_NOT_EXIST serializations in fetch, so a omitted range can be split between DNE and UNKNOWN. But that seems OK to me. I'm unsure if it addresses #945 completely, but it gives a bandwidth constrained publisher another option that doesn't completely fail the fetch. Fixes: #1265 Fixes: #1057 Maybe addresses: #945
ianswett
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, LGTM
Co-authored-by: ianswett <[email protected]>
|
@vasilvv would you like to propose alternate spelling? |
|
Discussed in 11/17 Interim: The wg liked this general functionality but would like a richer set of "UNKNOWN" reasons like "publisher unavailable", etc. and agree #1342 should go first. |
|
I've complained about the proposed syntax in this PR, so I am proposing the alternative: If the highest bit in serialization flags is set, the following message is not an object, but some fetch-related metadata. The remaining 7 bits denote the type of the metadata in question. The first byte immediately after that indicates metadata length. We define Flags = 0x80 to mean "range of objects with unknown status". It has the following syntax: Not sure if the range end should be inclusive or not, probably not. |
This is a proposal to address several open FETCH issues.
Replace UNKNOWN_STATUS_IN_RANGE with a data-stream encoding of an UNKNOWN range. This requires leaving DOES_NOT_EXIST serializations in fetch, so a omitted range can be split between DNE and UNKNOWN. But that seems OK to me.
I'm unsure if it addresses #945 completely, but it gives a bandwidth constrained publisher another option that doesn't completely fail the fetch. (Ian believes it does resolve #945, unless others object)
Fixes: #1265
Fixes: #1057
Fixes: #945