[][src]Struct libp2p::floodsub::Floodsub

pub struct Floodsub<TSubstream> { /* fields omitted */ }

Network behaviour that automatically identifies nodes periodically, and returns information about them.

Methods

impl<TSubstream> Floodsub<TSubstream>[src]

pub fn new(local_peer_id: PeerId) -> Floodsub<TSubstream>[src]

Creates a Floodsub.

pub fn add_node_to_partial_view(&mut self, peer_id: PeerId)[src]

Add a node to the list of nodes to propagate messages to.

pub fn remove_node_from_partial_view(&mut self, peer_id: &PeerId)[src]

Remove a node from the list of nodes to propagate messages to.

impl<TSubstream> Floodsub<TSubstream>[src]

pub fn subscribe(&mut self, topic: Topic) -> bool[src]

Subscribes to a topic.

Returns true if the subscription worked. Returns false if we were already subscribed.

pub fn unsubscribe<impl AsRef>(
    &mut self,
    topic: impl AsRef
) -> bool where
    impl AsRef: AsRef<TopicHash>, 
[src]

Unsubscribes from a topic.

Note that this only requires a TopicHash and not a full Topic.

Returns true if we were subscribed to this topic.

pub fn publish<impl Into, impl Into>>(
    &mut self,
    topic: impl Into,
    data: impl Into>
) where
    impl Into: Into<TopicHash>,
    impl Into>: Into<Vec<u8>>, 
[src]

Publishes a message to the network.

Note: Doesn't do anything if we're not subscribed to the topic.

pub fn publish_many<impl Into, impl IntoIterator>, impl Into>>(
    &mut self,
    topic: impl IntoIterator>,
    data: impl Into>
) where
    impl Into: Into<TopicHash>,
    impl Into>: Into<Vec<u8>>,
    impl IntoIterator>: IntoIterator<Item = impl Into>, 
[src]

Publishes a message with multiple topics to the network.

Note: Doesn't do anything if we're not subscribed to any of the topics.

Trait Implementations

impl<TSubstream> NetworkBehaviour for Floodsub<TSubstream> where
    TSubstream: AsyncRead + AsyncWrite
[src]

type ProtocolsHandler = OneShotHandler<TSubstream, FloodsubConfig, FloodsubRpc, InnerMessage>

Handler for all the protocols the network supports.

type OutEvent = FloodsubEvent

Event generated by the swarm.

fn inject_replaced(
    &mut self,
    peer_id: PeerId,
    closed_endpoint: ConnectedPoint,
    new_endpoint: ConnectedPoint
)
[src]

Indicates the behaviour that we replace the connection from the node with another.

fn inject_addr_reach_failure(
    &mut self,
    _peer_id: Option<&PeerId>,
    _addr: &Multiaddr,
    _error: &dyn Error
)
[src]

Indicates to the behaviour that we tried to reach an address, but failed. Read more

fn inject_dial_failure(&mut self, _peer_id: &PeerId)[src]

Indicates to the behaviour that we tried to dial all the addresses known for a node, but failed. Read more

fn inject_new_listen_addr(&mut self, _addr: &Multiaddr)[src]

Indicates to the behaviour that we have started listening on a new multiaddr.

fn inject_expired_listen_addr(&mut self, _addr: &Multiaddr)[src]

Indicates to the behaviour that a new multiaddr we were listening on has expired, which means that we are no longer listening in it. Read more

fn inject_new_external_addr(&mut self, _addr: &Multiaddr)[src]

Indicates to the behaviour that we have discovered a new external address for us.

Auto Trait Implementations

impl<TSubstream> Send for Floodsub<TSubstream> where
    TSubstream: Send

impl<TSubstream> Sync for Floodsub<TSubstream> where
    TSubstream: Sync

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> Erased for T

impl<T> Erased for T

impl<T> Typeable for T where
    T: Any

fn get_type(&self) -> TypeId

Get the TypeId of this object.