-
Notifications
You must be signed in to change notification settings - Fork 16
Removed the ability for subscriptions to outlive connections #93
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
Conversation
Cheers for making things simple! I agree this is a step forward. Further constraining what the server can/can't do with regard to keeping information around for various durations can be up to applications or other specs. |
@@ -484,19 +484,16 @@ Table of Contents | |||
|
|||
Subscribe | |||
or Subscribe: keep-alive | |||
or Subscribe: keep-alive=<seconds> |
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.
I still think it's weird to have either a "blank header" or a keep-alive
as possibilities here. Does a blank header mean anything different than keep-alive
? Also, is keep-alive
the right word to use? (it's a little bit better now that it means "keep alive for current connection" but I had opened this for discussion here: https://groups.google.com/g/braid-http/c/iamJIcLdsag/m/ojGeT3aVAgAJ)
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.
Yeah I have no idea what the semantic difference is supposed to be either. @toomim
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.
The distinction is:
Subscribe
: subscribe until the connection is closedSubscribe: keep-alive
: subscribe and remember history foreverSubscribe: keep-alive=<seconds>
: subscribe and remember history until<seconds>
after the connection closes
That was supposed to be clear in the text that's being deleted in this PR. Was something about the writing ambiguous?
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.
Also, I think you want to delete the Subscribe: keep-alive
variant as well, since that is also a subscription that outlives the connection.
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.
That was supposed to be clear in the text that's being deleted in this PR. Was something about the writing ambiguous?
I meant "Does a blank header mean anything different than keep-alive" now that we've removed the ability to "hold on to" a connection as we've done in this PR.
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.
Oh! Ok, that clears it up. Thank you.
Thanks @josephg and @canadaduane for this work. I think it's a very nice improvement. I found a couple lines that I think should also be deleted, but I suspect you'll agree with them, and once those are done, I'm in favor of this PR being merged. This also opens up the question of whether we want an empty |
Thanks for the review Mike! I’ll see if I can update the PR with your comments today. (And merge it?) |
Sweet. I'm ok with just merging it, but it might be better to finish the PR, and then write a note here (and/or on the mailing list) saying "Duane, Mike, and I seem to have found consensus at |
To help us mature our consensus process, I've been researching the IETF process and keeping notes here: https://braid.org/consensus |
So the one remaining issue here is what to do with this part of the spec:
Edit: But it looks like Duane has opened a new issue for this. If there's no other objections, I'll merge this next week. |
The previous language was ambiguous about whether subscriptions must be remembered forever by the server, or if they can be stateless. (It was said they were optional in 3.4 but that stateful subscriptions were mandatory in the introduction.)
After talking with Mike, no other features of the current braid specification depend on persistent subscriptions. This PR removes the ability for subscriptions to outlive their HTTP connections entirely, simplifying the specification.