Trait sc_network_gossip::Network[][src]

pub trait Network<B: BlockT> {
    fn event_stream(&self) -> Pin<Box<dyn Stream<Item = Event> + Send>>;
fn report_peer(&self, peer_id: PeerId, reputation: ReputationChange);
fn add_set_reserved(&self, who: PeerId, protocol: Cow<'static, str>);
fn remove_set_reserved(&self, who: PeerId, protocol: Cow<'static, str>);
fn disconnect_peer(&self, who: PeerId, protocol: Cow<'static, str>);
fn write_notification(
        &self,
        who: PeerId,
        protocol: Cow<'static, str>,
        message: Vec<u8>
    );
fn announce(&self, block: B::Hash, associated_data: Option<Vec<u8>>); }

Abstraction over a network.

Required methods

fn event_stream(&self) -> Pin<Box<dyn Stream<Item = Event> + Send>>[src]

Returns a stream of events representing what happens on the network.

fn report_peer(&self, peer_id: PeerId, reputation: ReputationChange)[src]

Adjust the reputation of a node.

fn add_set_reserved(&self, who: PeerId, protocol: Cow<'static, str>)[src]

Adds the peer to the set of peers to be connected to with this protocol.

fn remove_set_reserved(&self, who: PeerId, protocol: Cow<'static, str>)[src]

Removes the peer from the set of peers to be connected to with this protocol.

fn disconnect_peer(&self, who: PeerId, protocol: Cow<'static, str>)[src]

Force-disconnect a peer.

fn write_notification(
    &self,
    who: PeerId,
    protocol: Cow<'static, str>,
    message: Vec<u8>
)
[src]

Send a notification to a peer.

fn announce(&self, block: B::Hash, associated_data: Option<Vec<u8>>)[src]

Notify everyone we’re connected to that we have the given block.

Note: this method isn’t strictly related to gossiping and should eventually be moved somewhere else.

Loading content...

Implementations on Foreign Types

impl<B: BlockT, H: ExHashT> Network<B> for Arc<NetworkService<B, H>>[src]

Loading content...

Implementors

Loading content...