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

Considerably clean up the Yamux implementation #383

Merged
merged 75 commits into from
Apr 5, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
75 commits
Select commit Hold shift + click to select a range
4911334
Small comment fix
tomaka Mar 31, 2023
a65dd8f
Wrap all fields in a `Box` to reduce movements
tomaka Mar 31, 2023
916f0ea
Rename and comment field
tomaka Mar 31, 2023
681a40c
Cache the list of dead substreams
tomaka Mar 31, 2023
18a3a3a
Fix missing `Box` import
tomaka Mar 31, 2023
7eb874d
Remove TODO
tomaka Mar 31, 2023
04d6666
Use a `VecDeque` for `write_buffers`
tomaka Mar 31, 2023
ad92626
Add TODO
tomaka Mar 31, 2023
415c0aa
Remove automatic window size increase on incoming data
tomaka Mar 31, 2023
8832e62
Remove SubstreamRef and SubstreamMut in favor of functions on Yamux
tomaka Mar 31, 2023
abfeb59
Fix faulty debug_assert
tomaka Mar 31, 2023
e285c54
Some docfixes
tomaka Mar 31, 2023
bc49408
Fix insertion in dead_substreams at the wrong time
tomaka Apr 1, 2023
b685ee8
Remove the `ExtractOut` intermediary object
tomaka Apr 1, 2023
ba2b99c
Fix faulty debug_assert
tomaka Apr 1, 2023
5adc96e
Turn an if into a debug_assert!
tomaka Apr 1, 2023
09429ce
Tweaks to the `incoming_data` function
tomaka Apr 1, 2023
146ccc8
Use a HashSet for outgoing pings
tomaka Apr 1, 2023
cb66004
Add an `encode` function
tomaka Apr 2, 2023
f51bd6f
Store the decoded header in Outgoing
tomaka Apr 2, 2023
3f6b9ec
Remove is_goaway flag
tomaka Apr 2, 2023
76cd2bc
Remove the header queing private functions
tomaka Apr 2, 2023
aa3d25b
`decode_yamux_header` now accepts a precise length
tomaka Apr 2, 2023
39ba2cf
Remove old comment
tomaka Apr 2, 2023
cb67914
Add TODO
tomaka Apr 2, 2023
33164ed
Merge branch 'main' into yamux-cleanups
tomaka Apr 3, 2023
0576892
Add yamux header encoding tests
tomaka Apr 3, 2023
326361e
Macro name
tomaka Apr 4, 2023
e676553
Docfix
tomaka Apr 4, 2023
1de223c
Rustfmt
tomaka Apr 4, 2023
1c3a3c4
Move the write queue to a separate module
tomaka Apr 4, 2023
78ae8ca
Doclinks
tomaka Apr 4, 2023
9f80f10
Add `InvalidInboundStreamId`
tomaka Apr 4, 2023
93abd83
Some tests
tomaka Apr 4, 2023
29a54ba
Fixes and more tests
tomaka Apr 4, 2023
be99ed9
Fix test
tomaka Apr 4, 2023
77284f5
Fix test
tomaka Apr 4, 2023
ca3be46
More tests
tomaka Apr 5, 2023
6b0fced
Remove `reserve_window` function
tomaka Apr 5, 2023
a42223d
More testing
tomaka Apr 5, 2023
c37ab7d
Bugfix and more test
tomaka Apr 5, 2023
4f91826
More tests
tomaka Apr 5, 2023
3112fb4
More tests and bugfix
tomaka Apr 5, 2023
1959613
More tests
tomaka Apr 5, 2023
0274e35
Add `max_simultaneous_rst_substreams` config option
tomaka Apr 5, 2023
15e9153
Remove debugging thing
tomaka Apr 5, 2023
c65f09c
More tests
tomaka Apr 5, 2023
bd29aaa
Check the ACK flag
tomaka Apr 5, 2023
0d578d5
Fix test
tomaka Apr 5, 2023
2540767
Error on multiple GoAways
tomaka Apr 5, 2023
1c605e5
Fix sending a RST after a GoAway
tomaka Apr 5, 2023
dd369b1
Fix debug_assert! and more tests
tomaka Apr 5, 2023
fa72d45
Fix code
tomaka Apr 5, 2023
dc84f62
Fix test
tomaka Apr 5, 2023
b8f9427
Add a limit to the number of pongs
tomaka Apr 5, 2023
c82c694
Clarify data with RST
tomaka Apr 5, 2023
3c0d246
Test can't open after goaway
tomaka Apr 5, 2023
ded9dfc
Simplify pings handling
tomaka Apr 5, 2023
3aa99ae
CHANGELOG entry
tomaka Apr 5, 2023
5fef223
Clarify add_remote_window behaviour
tomaka Apr 5, 2023
40a617d
Add `max_out_data_frame_size`
tomaka Apr 5, 2023
8b604eb
Fix tests
tomaka Apr 5, 2023
7460e59
More proper handling of RST with data
tomaka Apr 5, 2023
194184f
Choose substreams to send on semi-randomly
tomaka Apr 5, 2023
3070e75
Clarify a bit doc
tomaka Apr 5, 2023
ff43b5f
Add a cache for substreams to write out
tomaka Apr 5, 2023
22bfb86
Remove some TODOs
tomaka Apr 5, 2023
0d402d9
Spellcheck
tomaka Apr 5, 2023
f68652d
PR links
tomaka Apr 5, 2023
63a7a14
Fix no checking if substream still healthy
tomaka Apr 5, 2023
58f7704
No longer panic anywhere in the public API, except invalid substreams
tomaka Apr 5, 2023
4a3aad0
Doc and TODO fix
tomaka Apr 5, 2023
35d6e50
Oops, substream IDs must increment by 2
tomaka Apr 5, 2023
64205f7
Fix clippy warning
tomaka Apr 5, 2023
3ea28b9
Docfix
tomaka Apr 5, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading