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

Improve muxer test coverage. Fix several muxer issues #285

Merged
merged 9 commits into from
May 30, 2023

Conversation

Nashatyrev
Copy link
Collaborator

@Nashatyrev Nashatyrev commented May 25, 2023

  • More muxer tests
    • Refactor MuxHandlerAbstractTest: add ability to handle outbound messages
    • Control and check ByteBuf allocations and releases
    • Add more testcases and assertions
  • Fix found issues:
    • [Generic] (buffer leak) release message buffer if inbound frame have non-existing streamId: 71c68c4
    • [Yamux] Process RST (Reset) flag: 42e40f6
    • [Generic] Writing to a stream which was prior closed should be prohibited: d3c4580
    • [Generic] Receiving a data on a steam which was remotely closed should result in exception (recoverable, i.e. connection should not be terminated): 8974317
    • [Yamux] switch the logic of onLocalDisconnect() and onLocalClose() methods. onLocalDisconnect() should leave the stream open for inbound data: 820c252
    • [Yamux] need to clean up stream entries on any kind of stream closure (local Reset, remote Reset, local + remote Close): 66ef36b
  • Convert RemoteWriteClosed to singleton

Part of #272
Follow up to #281
Fix #27

…ing stream id. Add buffer ref count check to MuxHandler tests
…e() methods. onLocalDisconnect() should leave the stream open for inbound data
* Cleanup YamuxHandler per-stream data on onChildClosed()
* YamuxHandler: move per-stream data init to a separate onStreamCreate() method
@Nashatyrev Nashatyrev marked this pull request as ready for review May 25, 2023 05:10
Copy link
Contributor

@ianopolous ianopolous left a comment

Choose a reason for hiding this comment

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

Excellent! Looks good to me.

Copy link
Collaborator

@tbenr tbenr left a comment

Choose a reason for hiding this comment

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

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants