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.