JSPM

@libp2p/multistream-select

5.1.11-044791342
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 33553
  • Score
    100M100P100Q161166F
  • License Apache-2.0 OR MIT

JavaScript implementation of multistream-select

Package Exports

  • @libp2p/multistream-select

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@libp2p/multistream-select) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

@libp2p/multistream-select

libp2p.io Discuss codecov CI

JavaScript implementation of multistream-select

About

multistream-select is protocol multiplexing per connection/stream. Full spec here

Select a protocol flow

The caller will send "interactive" messages, expecting for some acknowledgement from the callee, which will "select" the handler for the desired and supported protocol:

< /multistream-select/0.3.0  # i speak multistream-select/0.3.0
> /multistream-select/0.3.0  # ok, let's speak multistream-select/0.3.0
> /ipfs-dht/0.2.3            # i want to speak ipfs-dht/0.2.3
< na                         # ipfs-dht/0.2.3 is not available
> /ipfs-dht/0.1.9            # What about ipfs-dht/0.1.9 ?
< /ipfs-dht/0.1.9            # ok let's speak ipfs-dht/0.1.9 -- in a sense acts as an ACK
> <dht-message>
> <dht-message>
> <dht-message>

Install

$ npm i @libp2p/multistream-select

Browser <script> tag

Loading this module through a script tag will make it's exports available as Libp2pMultistreamSelect in the global namespace.

<script src="https://unpkg.com/@libp2p/multistream-select/dist/index.min.js"></script>

API Docs

License

Licensed under either of

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.