Skip to content
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

initial_max_stream_id and, uni and bidi streams #909

Closed
tatsuhiro-t opened this issue Nov 11, 2017 · 9 comments
Closed

initial_max_stream_id and, uni and bidi streams #909

tatsuhiro-t opened this issue Nov 11, 2017 · 9 comments
Labels
-transport design An issue that affects the design of the protocol; resolution requires consensus. has-consensus An issue that the Chairs have determined has consensus, by canvassing the mailing list.

Comments

@tatsuhiro-t
Copy link
Contributor

Now we have separate uni and bidirectional stream ID spaces, but initial_max_stream_id in transport parameter does not say it applies to 1) both, or 2) uni only, or 3) bidi only.

@MikeBishop
Copy link
Contributor

Yeah, we'll need two of those, I suppose.

@marten-seemann
Copy link
Contributor

That will be really useful. An implementation that doesn't want to do uni-directional streams can just send 0 for the uni max stream ID.

@ianswett
Copy link
Contributor

The max_stream_id was intended to apply to the type of stream it is(uni or bidi). It's necessary to have separate max stream ids for uni and bidi because otherwise you could easily end up in a situation where you have thousands of potentially usable stream ids of one type and a small number of the other.

@MikeBishop
Copy link
Contributor

Are you suggesting that the max_stream_id transport parameter just occur twice?

@ianswett
Copy link
Contributor

I missed that this was the initial max_stream_id in transport params. So disregard my previous statement.

I guess it appearing twice makes the most sense then?

@MikeBishop
Copy link
Contributor

An endpoint MUST treat receipt of duplicate transport parameters as a connection error of type TRANSPORT_PARAMETER_ERROR.

So do we want to delete this prohibition (and replace it with rules about how other duplicates are processed, special-case this parameter as exempt from the prohibition, or have two instances of the parameter?

@ianswett
Copy link
Contributor

Special cases are bad, so I'd rather not do that. We could allow a transport param be a list of stream ids?

@marten-seemann
Copy link
Contributor

Why not create a new transport parameter? Seems the cleanest solution to me.

@tatsuhiro-t
Copy link
Contributor Author

I'm fine to either listing 2 values, or introducing new transport parameter.
In my personal opinion, I'm lean to new transport parameter.

@martinthomson martinthomson added design An issue that affects the design of the protocol; resolution requires consensus. -transport labels Jan 29, 2018
@mnot mnot added the has-consensus An issue that the Chairs have determined has consensus, by canvassing the mailing list. label Mar 5, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
-transport design An issue that affects the design of the protocol; resolution requires consensus. has-consensus An issue that the Chairs have determined has consensus, by canvassing the mailing list.
Projects
None yet
Development

No branches or pull requests

6 participants