[][src]Struct libp2p::swarm::SwarmBuilder

pub struct SwarmBuilder<TBehaviour, TConnInfo> { /* fields omitted */ }

A SwarmBuilder provides an API for configuring and constructing a Swarm, including the underlying [Network].

Methods

impl<TBehaviour, TConnInfo> SwarmBuilder<TBehaviour, TConnInfo> where
    TBehaviour: NetworkBehaviour,
    TConnInfo: ConnectionInfo<PeerId = PeerId> + Debug + Clone + Send + 'static, 
[src]

pub fn new<TTrans, TMuxer>(
    transport: TTrans,
    behaviour: TBehaviour,
    local_peer_id: PeerId
) -> SwarmBuilder<TBehaviour, TConnInfo> where
    TMuxer: StreamMuxer + Send + Sync + 'static,
    TTrans: Transport<Output = (TConnInfo, TMuxer)> + Clone + Send + Sync + 'static,
    <TMuxer as StreamMuxer>::OutboundSubstream: Send,
    <TMuxer as StreamMuxer>::OutboundSubstream: 'static,
    <TMuxer as StreamMuxer>::OutboundSubstream: Send,
    <TMuxer as StreamMuxer>::OutboundSubstream: 'static,
    <TMuxer as StreamMuxer>::Substream: Send,
    <TMuxer as StreamMuxer>::Substream: 'static,
    <TTrans as Transport>::Error: Send,
    <TTrans as Transport>::Error: Sync,
    <TTrans as Transport>::Error: 'static,
    <TTrans as Transport>::Listener: Send,
    <TTrans as Transport>::Listener: 'static,
    <TTrans as Transport>::ListenerUpgrade: Send,
    <TTrans as Transport>::ListenerUpgrade: 'static,
    <TTrans as Transport>::Dial: Send,
    <TTrans as Transport>::Dial: 'static, 
[src]

Creates a new SwarmBuilder from the given transport, behaviour and local peer ID. The Swarm with its underlying Network is obtained via [SwarmBuilder::build].

pub fn executor(
    self,
    e: Box<dyn Executor + 'static + Send>
) -> SwarmBuilder<TBehaviour, TConnInfo>
[src]

Configures the Executor to use for spawning background tasks.

By default, unless another executor has been configured, [SwarmBuilder::build] will try to set up a ThreadPool.

pub fn incoming_connection_limit(
    self,
    n: usize
) -> SwarmBuilder<TBehaviour, TConnInfo>
[src]

Configures a limit for the number of simultaneous incoming connection attempts.

pub fn outgoing_connection_limit(
    self,
    n: usize
) -> SwarmBuilder<TBehaviour, TConnInfo>
[src]

Configures a limit for the number of simultaneous outgoing connection attempts.

pub fn peer_connection_limit(
    self,
    n: usize
) -> SwarmBuilder<TBehaviour, TConnInfo>
[src]

Configures a limit for the number of simultaneous established connections per peer.

pub fn build(
    self
) -> ExpandedSwarm<TBehaviour, <<<TBehaviour as NetworkBehaviour>::ProtocolsHandler as IntoProtocolsHandler>::Handler as ProtocolsHandler>::InEvent, <<<TBehaviour as NetworkBehaviour>::ProtocolsHandler as IntoProtocolsHandler>::Handler as ProtocolsHandler>::OutEvent, <TBehaviour as NetworkBehaviour>::ProtocolsHandler, TConnInfo>
[src]

Builds a Swarm with the current configuration.

Auto Trait Implementations

impl<TBehaviour, TConnInfo> !RefUnwindSafe for SwarmBuilder<TBehaviour, TConnInfo>

impl<TBehaviour, TConnInfo> Send for SwarmBuilder<TBehaviour, TConnInfo> where
    TBehaviour: Send

impl<TBehaviour, TConnInfo> !Sync for SwarmBuilder<TBehaviour, TConnInfo>

impl<TBehaviour, TConnInfo> Unpin for SwarmBuilder<TBehaviour, TConnInfo> where
    TBehaviour: Unpin

impl<TBehaviour, TConnInfo> !UnwindSafe for SwarmBuilder<TBehaviour, TConnInfo>

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

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>,