Crate ckb_network
source ·Expand description
ckb network module
This module is based on the Tentacle library, once again abstract the context that protocols can use, and providing a unified implementation of the peer storage and registration mechanism.
And implemented several basic protocols: identify, discovery, ping, feeler, disconnect_message
Re-exports
pub use crate::errors::Error;pub use crate::network::DefaultExitHandler;pub use crate::network::EventHandler;pub use crate::network::ExitHandler;pub use crate::network::NetworkController;pub use crate::network::NetworkService;pub use crate::network::NetworkState;pub use crate::peer_registry::PeerRegistry;pub use crate::peer_store::Score;pub use p2p::bytes;pub use p2p::multiaddr;pub use tokio;
Modules
- compress module
- Error module
- Global state struct and start function
- Peer registry
- Peer store manager
Structs
- Help to build protocol meta
- Node Function Identification
- Peer info
- Identifier of a peer of the network
- Peer info from identify protocol message
- Protocol id
- Builder for Service
- Service control, used to send commands externally at runtime
- Index of session
Enums
- Peers behaviours we maintain a score to each peer report peer behaviour will affects peer’s score
- Public Key
- Indicates the session type
- All supported protocols
- When dial, specify which protocol want to open
- When sending a message, select the specified session
Traits
- Abstract protocol context
- Abstract protocol handle base on tentacle service handle
- Service level protocol handle
Functions
- Get peer id from multiaddr
- Change multiaddr to socketaddr
- Observe listen port occupancy
Type Aliases
- Alias session id
- Protocol version used by network protocol open