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

pub struct Floodsub { /* fields omitted */ }

Network behaviour that handles the floodsub protocol.

Implementations

impl Floodsub[src]

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

Creates a Floodsub with default configuration.

pub fn from_config(config: FloodsubConfig) -> Floodsub[src]

Creates a Floodsub with the given configuration.

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.

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(&mut self, topic: Topic) -> bool[src]

Unsubscribes from a topic.

Note that this only requires the topic name.

Returns true if we were subscribed to this topic.

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

Publishes a message to the network, if we’re subscribed to the topic only.

pub fn publish_any(
    &mut self,
    topic: impl Into<Topic>,
    data: impl Into<Vec<u8, Global>>
)
[src]

Publishes a message to the network, even if we’re not subscribed to the topic.

pub fn publish_many(
    &mut self,
    topic: impl IntoIterator<Item = impl Into<Topic>>,
    data: impl Into<Vec<u8, Global>>
)
[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.

pub fn publish_many_any(
    &mut self,
    topic: impl IntoIterator<Item = impl Into<Topic>>,
    data: impl Into<Vec<u8, Global>>
)
[src]

Publishes a message with multiple topics to the network, even if we’re not subscribed to any of the topics.

Trait Implementations

impl NetworkBehaviour for Floodsub[src]

type ProtocolsHandler = OneShotHandler<FloodsubProtocol, FloodsubRpc, InnerMessage>

Handler for all the protocols the network behaviour supports.

type OutEvent = FloodsubEvent

Event generated by the NetworkBehaviour and that the swarm will report back.

Auto Trait Implementations

impl RefUnwindSafe for Floodsub

impl Send for Floodsub

impl Sync for Floodsub

impl Unpin for Floodsub

impl UnwindSafe for Floodsub

Blanket Implementations

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

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

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

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

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

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

type Output = T

Should always be Self

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<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]