Crate ckb_network[−][src]
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::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::types::MultiaddrExt; |
pub use crate::peer_store::Score; |
pub use p2p::bytes; |
pub use p2p::multiaddr; |
pub use tokio; |
Modules
errors | Error module |
network | Global state struct and start function |
peer_registry | Peer registry |
peer_store | Peer store manager |
Structs
BlockingFlag | Control whether the protocol handle method requires blocking to run default is 0b1111, all function use blocking |
CKBProtocol | Help to build protocol meta |
Peer | Peer info |
PeerId | Identifier of a peer of the network |
PeerIdentifyInfo | Peer info from identify protocol message |
ProtocolId | Protocol id |
ServiceControl | Service control, used to send commands externally at runtime |
Enums
Behaviour | Peers behaviours we maintain a score to each peer report peer bahaviour will affects peer’s score |
PublicKey | Public Key |
SessionType | Indicates the session type |
SupportProtocols | All supported protocols |
TargetSession | When sending a message, select the specified session |
Traits
CKBProtocolContext | Abstract protocol context |
CKBProtocolHandler | Abstract protocol handle base on tentacle service handle |
ServiceProtocol | Service level protocol handle |
Type Definitions
PeerIndex | Alias session id |
ProtocolVersion | Protocol version used by network protocol open |