mirror of
https://github.com/fluencelabs/rust-libp2p
synced 2025-06-12 01:21:21 +00:00
fix(swarm): Make executors pub and add convenience constructors for SwarmBuilder (#3155)
Addresses issues raised here: https://github.com/libp2p/rust-libp2p/pull/3097#discussion_r1026526312
This commit is contained in:
@ -1456,6 +1456,44 @@ where
|
||||
}
|
||||
}
|
||||
|
||||
/// Builds a new [`SwarmBuilder`] from the given transport, behaviour, local peer ID and a
|
||||
/// `tokio` executor.
|
||||
#[cfg(all(
|
||||
feature = "tokio",
|
||||
not(any(target_os = "emscripten", target_os = "wasi", target_os = "unknown"))
|
||||
))]
|
||||
pub fn with_tokio_executor(
|
||||
transport: transport::Boxed<(PeerId, StreamMuxerBox)>,
|
||||
behaviour: TBehaviour,
|
||||
local_peer_id: PeerId,
|
||||
) -> Self {
|
||||
Self::with_executor(
|
||||
transport,
|
||||
behaviour,
|
||||
local_peer_id,
|
||||
crate::executor::TokioExecutor,
|
||||
)
|
||||
}
|
||||
|
||||
/// Builds a new [`SwarmBuilder`] from the given transport, behaviour, local peer ID and a
|
||||
/// `async-std` executor.
|
||||
#[cfg(all(
|
||||
feature = "async-std",
|
||||
not(any(target_os = "emscripten", target_os = "wasi", target_os = "unknown"))
|
||||
))]
|
||||
pub fn with_async_std_executor(
|
||||
transport: transport::Boxed<(PeerId, StreamMuxerBox)>,
|
||||
behaviour: TBehaviour,
|
||||
local_peer_id: PeerId,
|
||||
) -> Self {
|
||||
Self::with_executor(
|
||||
transport,
|
||||
behaviour,
|
||||
local_peer_id,
|
||||
crate::executor::AsyncStdExecutor,
|
||||
)
|
||||
}
|
||||
|
||||
/// Creates a new [`SwarmBuilder`] from the given transport, behaviour and local peer ID. The
|
||||
/// `Swarm` with its underlying `Network` is obtained via [`SwarmBuilder::build`].
|
||||
///
|
||||
|
Reference in New Issue
Block a user