Crate core

Expand description

Transports, upgrades, multiplexing and node handling of libp2p.

The main concepts of libp2p-core are:

  • 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.

Modules§

connection
either
multiaddr
Implementation of multiaddr in Rust.
muxing
Muxing is the process of splitting a connection into multiple substreams.
peer_record
signed_envelope
transport
Connection-oriented communication channels.
upgrade
Contains everything related to upgrading a connection or a substream to use a protocol.
util

Structs§

DecodeError
Multiaddr
Representation of a Multiaddr.
PeerId
Identifier of a peer of the network.
PeerRecord
Represents a peer routing record.
SignedEnvelope
A signed envelope contains an arbitrary byte string payload, a signature of the payload, and the public key that can be used to verify the signature.

Enums§

ConnectedPoint
The endpoint roles associated with an established peer-to-peer connection.
Endpoint
The endpoint roles associated with a peer-to-peer communication channel.

Traits§

InboundUpgrade
Possible upgrade on an inbound connection or substream.
OutboundUpgrade
Possible upgrade on an outbound connection or substream.
StreamMuxer
Provides multiplexing for a connection by allowing users to open substreams.
Transport
A transport provides connection-oriented communication between two peers through ordered streams of data (i.e. connections).
UpgradeInfo
Common trait for upgrades that can be applied on inbound substreams, outbound substreams, or both.

Type Aliases§

Negotiated