-
Notifications
You must be signed in to change notification settings - Fork 964
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
[Tracking issue]: Uniform substream behaviour and interface #3014
Comments
Thanks for the tracking issue! I added it to our project board. I still need to prioritize it. Input welcome. Overall looks good to me. Just one comment:
I am not aware of a protocol that needs to close the read side. I suggest we delay implementing that half of the feature until there is need for it. |
"That half". Pun intended? 😊 Makes sense! I moved it to the bottom of the action list. If we are unaware of a protocol that uses it, perhaps we should strip it from the specification too? |
Stripping it off the specification would prevent us from introducing it in the future, right? |
Maybe, I haven't thought about it much. It seems odd to have every implementation be non-compliant 🤷♂️ |
Closing as mostly completed. |
This a tracking issue for all sorts of efforts that concern a uniform behaviour of libp2p streams, regardless of the underlying transport or muxer.
Requirements
Done criteria
Action items
StreamMuxer
implementations #2952. This first version will only assert the subset of requirements that are passing without further modification of the muxer / transport implementations.yamux
cannot read from a substream that has not been written to.yamux
does not relay stream resets to theAsyncRead
andAsyncWrite
implementation.mplex
does not relay stream resets to theAsyncRead
andAsyncWrite
implementation.AsyncRead
andAsyncWrite
implementations.Open work
StreamMuxer
implementations #2952Connection
to a synchronous state machine rust-yamux#142: This will help with fixing the yamux issues because it makes the code much easier to reason about.Footnotes
mplex
is considered deprecated and will not be fixed. Users should upgrade toyamux
or another transport if they need a feature that is not supported. ↩The text was updated successfully, but these errors were encountered: