-
Notifications
You must be signed in to change notification settings - Fork 77
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
Integrate V1.0.0 changes into develop #303
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* Upgrade Gradle version to 8.0 * Refactor Android example * Add 2 Android gradle plugins (without applying) to the root build (haven't managed to isolate them in Android example module) * Add android.useAndroidX property to the root gradle.properties (for some reason defining this property in the Android submodule doesn't work) * Add libp2p.gradle.custom per project property which indicates whether common gradle code for submodules should be skipped (set it up for Adnroid example) * Move Maven repositories definitions to settings.gradle * In the settings.gradle detect if Android SDK is installed and conditionally include :examples:android-chatter module * Add Setup Android SDK GitHub action
* Get rid of Apache commons-codec dependency
* Replace log4j-api entries and dependencies with corresponding slf4j analogs * Add log4j-slf4j2-impl runtime dependencies for examples, tests and simulator module
* add multiaddr dependency from jitpack * Support webtransport multiaddrs * Implement dns multiaddr * Support quic-v1 and wss multiaddr --------- Co-authored-by: ian <[email protected]>
* Initial yamux implementation * Implement per stream write buffers and per connection max write buffer size limit. * Make MuxHandler abstract. Move Mplex specific members to MplexHandler. Derive YamuxHandler from it * Refactor MuxHandler tests * Refactor MplexFrame, remove obsolete MuxFrame * Flush buffered writes in yamux on local disconnect --------- Co-authored-by: Anton Nashatyrev <[email protected]>
* Refactor: move test utility classes to testFixtures module * Fix regression: MplexFrame should implement ReferenceCounted to release the underlying ByteBuf after encoding with MplexFrameCodec * Add unit test reproducing the issue
* Refactor MuxHandlerAbstractTest: add ability to handle outbound messages * Control and check ByteBuf allocations and releases * Add more testcases and assertions * [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
* Add early muxer negotiation support * Implement TLS security protocol * Remove the insecure Secio from builders so it can't be accidentally included * Add TLS tests
* Bouncycastle ECDSA certs in TLS were broken * Change unit test to cover this Co-authored-by: Anton Nashatyrev <[email protected]>
* yamux: Don't error on window update for closed stream * stream closes are often window updates with size 0 * Make sure window is initialised before calling onRemoteOpen * Add the unit test reproducing issues with Yamux --------- Co-authored-by: Anton Nashatyrev <[email protected]>
* Fix yamux handling of writes bigger than the window size * Fix inefficient window size handling * Release delayed yamux send buffer once sent. * Add Unit test --------- Co-authored-by: Anton Nashatyrev <[email protected]>
* Add Yamux specific unit tests * Minor Yamux refactorings
* Add component status table * Remove outdated roadmap and the old list of components * Add 'Notable Users' section * Add 'Android support' module
* Add Host.getProtocols() * Fix Host.addProtocolHandler (There was in internal CopyOnWriteArrayList for protocols in the muxer, so it didn't see newly added protocols) * Make a thread-safe shared MutableList for Host and Muxers --------- Co-authored-by: Anton Nashatyrev <[email protected]>
LGTM |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The
v1.0.0
branch incorporates the following new components:the following refactrorings:
jvm-libp2p-minimal
tojvm-libp2p
#302dependencies clean up:
fixes: