Trait ethcore_network::NetworkContext 
source · [−]pub trait NetworkContext {
    fn send(
        &self, 
        peer: PeerId, 
        packet_id: PacketId, 
        data: Vec<u8>
    ) -> Result<(), Error>;
    fn send_protocol(
        &self, 
        protocol: ProtocolId, 
        peer: PeerId, 
        packet_id: PacketId, 
        data: Vec<u8>
    ) -> Result<(), Error>;
    fn respond(&self, packet_id: PacketId, data: Vec<u8>) -> Result<(), Error>;
    fn disable_peer(&self, peer: PeerId);
    fn disconnect_peer(&self, peer: PeerId);
    fn is_expired(&self) -> bool;
    fn register_timer(
        &self, 
        token: TimerToken, 
        delay: Duration
    ) -> Result<(), Error>;
    fn peer_client_version(&self, peer: PeerId) -> ClientVersion;
    fn session_info(&self, peer: PeerId) -> Option<SessionInfo>;
    fn protocol_version(&self, protocol: ProtocolId, peer: PeerId) -> Option<u8>;
    fn subprotocol_name(&self) -> ProtocolId;
    fn is_reserved_peer(&self, peer: PeerId) -> bool;
}Expand description
IO access point. This is passed to all IO handlers and provides an interface to the IO subsystem.
Required methods
Send a packet over the network to another peer.
fn send_protocol(
    &self, 
    protocol: ProtocolId, 
    peer: PeerId, 
    packet_id: PacketId, 
    data: Vec<u8>
) -> Result<(), Error>
fn send_protocol(
    &self, 
    protocol: ProtocolId, 
    peer: PeerId, 
    packet_id: PacketId, 
    data: Vec<u8>
) -> Result<(), Error>
Send a packet over the network to another peer using specified protocol.
Respond to a current network message. Panics if no there is no packet in the context. If the session is expired returns nothing.
fn disable_peer(&self, peer: PeerId)
fn disable_peer(&self, peer: PeerId)
Disconnect a peer and prevent it from connecting again.
fn disconnect_peer(&self, peer: PeerId)
fn disconnect_peer(&self, peer: PeerId)
Disconnect peer. Reconnect can be attempted later.
fn is_expired(&self) -> bool
fn is_expired(&self) -> bool
Check if the session is still active.
fn register_timer(
    &self, 
    token: TimerToken, 
    delay: Duration
) -> Result<(), Error>
fn register_timer(
    &self, 
    token: TimerToken, 
    delay: Duration
) -> Result<(), Error>
Register a new IO timer. ‘IoHandler::timeout’ will be called with the token.
fn peer_client_version(&self, peer: PeerId) -> ClientVersion
fn peer_client_version(&self, peer: PeerId) -> ClientVersion
Returns peer identification string
fn session_info(&self, peer: PeerId) -> Option<SessionInfo>
fn session_info(&self, peer: PeerId) -> Option<SessionInfo>
Returns information on p2p session
fn protocol_version(&self, protocol: ProtocolId, peer: PeerId) -> Option<u8>
fn protocol_version(&self, protocol: ProtocolId, peer: PeerId) -> Option<u8>
Returns max version for a given protocol.
fn subprotocol_name(&self) -> ProtocolId
fn subprotocol_name(&self) -> ProtocolId
Returns this object’s subprotocol name.
fn is_reserved_peer(&self, peer: PeerId) -> bool
fn is_reserved_peer(&self, peer: PeerId) -> bool
Returns whether the given peer ID is a reserved peer.