[−][src]Module libp2p::core::swarm
High level manager of the network.
A [Swarm
] contains the state of the network as a whole. The entire behaviour of a
libp2p network can be controlled through the Swarm
.
Initializing a Swarm
Creating a Swarm
requires three things:
- A network identity of the local node in form of a [
PeerId
]. - An implementation of the [
Transport
] trait. This is the type that will be used in order to reach nodes on the network based on their address. See the [transport
] module for more information. - An implementation of the [
NetworkBehaviour
] trait. This is a state machine that defines how the swarm should behave once it is connected to a node.
Network Behaviour
The NetworkBehaviour
trait is implemented on types that indicate to the swarm how it should
behave. This includes which protocols are supported and which nodes to try to connect to.
Modules
toggle |
Structs
ExpandedSwarm | Contains the state of the network, plus the way it should behave. |
SwarmBuilder | |
SwarmPollParameters | Parameters passed to |
Enums
NetworkBehaviourAction | An action that a [ |
Traits
NetworkBehaviour | A behaviour for the network. Allows customizing the swarm. |
NetworkBehaviourEventProcess | Used when deriving |
PollParameters | Parameters passed to |
Type Definitions
Swarm | Contains the state of the network, plus the way it should behave. |