pub trait Network<S: StoreParams>:
Send
+ Sync
+ 'static {
type Subscription: Stream<Item = NetworkEvent> + Send + Unpin;
// Required methods
fn local_peer_id(&self) -> &PeerId;
fn listeners(&self, tx: Sender<Vec<Multiaddr>>);
fn external_addresses(&self, tx: Sender<Vec<AddressRecord>>);
fn get(&self, cid: Cid);
fn cancel_get(&self, cid: Cid);
fn sync(&self, cid: Cid, syncer: Arc<dyn BitswapSync>);
fn cancel_sync(&self, cid: Cid);
fn provide(&self, cid: Cid);
fn unprovide(&self, cid: Cid);
fn subscribe(&self) -> Self::Subscription;
}Required Associated Types§
type Subscription: Stream<Item = NetworkEvent> + Send + Unpin
Required Methods§
fn local_peer_id(&self) -> &PeerId
fn listeners(&self, tx: Sender<Vec<Multiaddr>>)
fn external_addresses(&self, tx: Sender<Vec<AddressRecord>>)
fn get(&self, cid: Cid)
fn cancel_get(&self, cid: Cid)
fn sync(&self, cid: Cid, syncer: Arc<dyn BitswapSync>)
fn cancel_sync(&self, cid: Cid)
fn provide(&self, cid: Cid)
fn unprovide(&self, cid: Cid)
fn subscribe(&self) -> Self::Subscription
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".