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

fix!: close streams gracefully #1864

Merged
merged 1 commit into from
Jul 20, 2023
Merged

Commits on Jul 20, 2023

  1. fix!: close streams gracefully

    - Refactors `.close`, `closeRead` and `.closeWrite` methods on the `Stream` interface to be async
    - The `Connection` interface now has `.close` and `.abort` methods
    - `.close` on `Stream`s and `Connection`s wait for the internal message queues to empty before closing
    - `.abort` on `Stream`s and `Connection`s close the underlying stream immediately and discards any unsent data
    - `@chainsafe/libp2p-yamux` now uses the `AbstractStream` class from `@libp2p/interface` the same as `@libp2p/mplex` and
    `@libp2p/webrtc`
    
    Follow-up PRs will be necessary to `@chainsafe/libp2p-yamux`, `@chainsafe/libp2p-gossipsub` and `@chainsafe/libp2p-noise`
    though they will not block the release as their code is temporarily added to this repo to let CI run.
    
    Fixes #1793
    Fixes #656
    
    BREAKING CHANGE: the `.close`, `closeRead` and `closeWrite` methods on the `Stream` interface are now asynchronous
    achingbrain committed Jul 20, 2023
    Configuration menu
    Copy the full SHA
    a541748 View commit details
    Browse the repository at this point in the history