Struct libp2p::core::network::NetworkConfig [−][src]
The (optional) configuration for a Network
.
The default configuration specifies no dedicated task executor, no
connection limits, a connection event buffer size of 32, and a
notify_handler
buffer size of 8.
Implementations
impl NetworkConfig
[src][−]
pub fn with_executor(
self,
e: Box<dyn Executor + 'static + Send, Global>
) -> NetworkConfig
[src][−]
self,
e: Box<dyn Executor + 'static + Send, Global>
) -> NetworkConfig
Configures the executor to use for spawning connection background tasks.
pub fn or_else_with_executor<F>(self, f: F) -> NetworkConfig where
F: FnOnce() -> Option<Box<dyn Executor + 'static + Send, Global>>,
[src][−]
F: FnOnce() -> Option<Box<dyn Executor + 'static + Send, Global>>,
Configures the executor to use for spawning connection background tasks, only if no executor has already been configured.
pub fn with_notify_handler_buffer_size(self, n: NonZeroUsize) -> NetworkConfig
[src][−]
Sets the maximum number of events sent to a connection’s background task that may be buffered, if the task cannot keep up with their consumption and delivery to the connection handler.
When the buffer for a particular connection is full, notify_handler
will no
longer be able to deliver events to the associated ConnectionHandler
,
thus exerting back-pressure on the connection and peer API.
pub fn with_connection_event_buffer_size(self, n: usize) -> NetworkConfig
[src][−]
Sets the maximum number of buffered connection events (beyond a guaranteed buffer of 1 event per connection).
When the buffer is full, the background tasks of all connections will stall. In this way, the consumers of network events exert back-pressure on the network connection I/O.
pub fn with_connection_limits(self, limits: ConnectionLimits) -> NetworkConfig
[src][−]
Sets the connection limits to enforce.
Trait Implementations
impl Default for NetworkConfig
[src][+]
Auto Trait Implementations
impl !RefUnwindSafe for NetworkConfig
impl Send for NetworkConfig
impl !Sync for NetworkConfig
impl Unpin for NetworkConfig
impl !UnwindSafe for NetworkConfig
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src][+]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> From<T> for T
[src][+]
impl<T, U> Into<U> for T where
U: From<T>,
[src][+]
U: From<T>,
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][+]
U: Into<T>,
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src][+]
U: TryFrom<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
[src][+]
V: MultiLane<T>,