Docs.rs
  • libp2p-core-0.22.1
    • libp2p-core 0.22.1
    • Docs.rs crate page
    • MIT
    • Links
    • Repository
    • crates.io
    • Source
    • Owners
    • tomaka
    • jxs
    • mxinden
    • github:paritytech:libp2p-devs
    • github:libp2p:repos-rust
    • github:libp2p:rust-libp2p-maintainers
    • Dependencies
      • asn1_der ^0.6.1 normal
      • bs58 ^0.3.0 normal
      • ed25519-dalek ^1.0.0-pre.4 normal
      • either ^1.5 normal
      • fnv ^1.0 normal
      • futures ^0.3.1 normal
      • futures-timer ^3 normal
      • lazy_static ^1.2 normal
      • libsecp256k1 ^0.3.1 normal
      • log ^0.4 normal
      • parity-multiaddr ^0.9.2 normal
      • multihash ^0.11.0 normal
      • multistream-select ^0.8.2 normal
      • parking_lot ^0.10.0 normal
      • pin-project ^0.4.17 normal
      • prost ^0.6.1 normal
      • rand ^0.7 normal
      • rw-stream-sink ^0.2.0 normal
      • sha2 ^0.8.0 normal
      • smallvec ^1.0 normal
      • thiserror ^1.0 normal
      • unsigned-varint ^0.4 normal
      • void ^1 normal
      • zeroize ^1 normal
      • async-std ^1.6.2 dev
      • quickcheck ^0.9.0 dev
      • wasm-timer ^0.2 dev
      • prost-build ^0.6 build
      • ring ^0.16.9 normal
    • Versions
    • 89.36% of the crate is documented
  • Go to latest version
  • Platform
    • i686-unknown-linux-gnu
    • x86_64-unknown-linux-gnu
  • Feature flags
  • Rust
    • About docs.rs
    • Privacy policy
    • Rust website
    • The Book
    • Standard Library API Reference
    • Rust by Example
    • The Cargo Guide
    • Clippy Documentation
☰
logo

Crate libp2p_core

Version 0.22.1

See all libp2p_core's items

  • Re-exports
  • Modules
  • Structs
  • Enums
  • Traits
  • Functions
  • Type Definitions

Crates

  • libp2p_core
? Change settings

[−][src]Crate libp2p_core

[−] Expand description

Transports, upgrades, multiplexing and node handling of libp2p.

The main concepts of libp2p-core are:

  • A PeerId is a unique global identifier for a node on the network. Each node must have a different PeerId. Normally, a PeerId is the hash of the public key used to negotiate encryption on the communication channel, thereby guaranteeing that they cannot be spoofed.
  • The Transport trait defines how to reach a remote node or listen for incoming remote connections. See the transport module.
  • The StreamMuxer trait is implemented on structs that hold a connection to a remote and can subdivide this connection into multiple substreams. See the muxing module.
  • The UpgradeInfo, InboundUpgrade and OutboundUpgrade traits define how to upgrade each individual substream to use a protocol. See the upgrade module.

Re-exports

pub use multiaddr;
pub use muxing::StreamMuxer;
pub use identity::PublicKey;
pub use transport::Transport;
pub use upgrade::InboundUpgrade;
pub use upgrade::OutboundUpgrade;
pub use upgrade::UpgradeInfo;
pub use upgrade::ProtocolName;
pub use connection::Connected;
pub use connection::Endpoint;
pub use connection::ConnectedPoint;
pub use connection::ConnectionInfo;
pub use network::Network;

Modules

connection
either
identity

A node's network identity keys.

muxing

Muxing is the process of splitting a connection into multiple substreams.

network
transport

Connection-oriented communication channels.

upgrade

Contains everything related to upgrading a connection or a substream to use a protocol.

Structs

Multiaddr

Representation of a Multiaddr.

PeerId

Identifier of a peer of the network.

Enums

UpgradeError

Error that can happen when upgrading a connection or substream to use a protocol.

Traits

Executor

Implemented on objects that can run a Future in the background.

Functions

address_translation

Perform IP address translation.

Type Definitions

Negotiated

Results for ConnectionHandler

In Names
(3)
In Parameters
(0)
In Return Types
(0)
libp2p_core::connection::ConnectionHandlerThe interface of a connection handler. 
libp2p_core::connection::IntoConnectionHandlerPrototype for a `ConnectionHandler`. 
libp2p_core::connection::ConnectionHandlerEventEvent produced by a handler. 
No results :(
Try on DuckDuckGo?

Or try looking in one of these:
  • The Rust Reference for technical details about the language.
  • Rust By Example for expository code examples.
  • The Rust Book for introductions to language features and the language itself.
  • Docs.rs for documentation of crates released on crates.io.
No results :(
Try on DuckDuckGo?

Or try looking in one of these:
  • The Rust Reference for technical details about the language.
  • Rust By Example for expository code examples.
  • The Rust Book for introductions to language features and the language itself.
  • Docs.rs for documentation of crates released on crates.io.