Crate vapcore_network_devp2p[−][src]
Network and general IO module.
Example usage for creating a network service and adding an IO handler:
extern crate network as net; extern crate vapcore_network_devp2p as devp2p; use net::*; use devp2p::NetworkService; use std::sync::Arc; use std::time::Duration; struct MyHandler; impl NetworkProtocolHandler for MyHandler { fn initialize(&self, io: &NetworkContext) { io.register_timer(0, Duration::from_secs(1)); } fn read(&self, io: &NetworkContext, peer: &PeerId, packet_id: u8, data: &[u8]) { println!("Received {} ({} bytes) from {}", packet_id, data.len(), peer); } fn connected(&self, io: &NetworkContext, peer: &PeerId) { println!("Connected {}", peer); } fn disconnected(&self, io: &NetworkContext, peer: &PeerId) { println!("Disconnected {}", peer); } } fn main () { let mut service = NetworkService::new(NetworkConfiguration::new_local(), None).expect("Error creating network service"); service.start().expect("Error starting service"); service.register_protocol(Arc::new(MyHandler), *b"myp", &[(1u8, 1u8)]); // Wait for quit condition // ... // Drop the service }
Structs
NetworkContext | IO access point. This is passed to all IO handlers and provides an interface to the IO subsystem. |
NetworkService | IO Service with networking
|
Constants
MAX_NODES_IN_TABLE |
Functions
validate_node_url | Check if node url is valid |
Type Definitions
NodeId | Node public key |
TimerToken | Timer ID |