diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b05a1be0182..a6382d422ab 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -308,7 +308,7 @@ jobs: RUSTFLAGS: '' steps: - uses: actions/checkout@v4 - - run: wget -q -O- https://github.com/obi1kenobi/cargo-semver-checks/releases/download/v0.36.0/cargo-semver-checks-x86_64-unknown-linux-gnu.tar.gz | tar -xz -C ~/.cargo/bin + - run: wget -q -O- https://github.com/obi1kenobi/cargo-semver-checks/releases/download/v0.39.0/cargo-semver-checks-x86_64-unknown-linux-gnu.tar.gz | tar -xz -C ~/.cargo/bin shell: bash - uses: obi1kenobi/cargo-semver-checks-action@7272cc2caa468d3e009a2b0a9cc366839348237b # v2.6 diff --git a/Cargo.lock b/Cargo.lock index 8d5a9c335e9..69f1a888346 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3052,7 +3052,7 @@ dependencies = [ [[package]] name = "libp2p-mplex" -version = "0.43.0" +version = "0.43.1" dependencies = [ "async-std", "asynchronous-codec", @@ -3519,7 +3519,7 @@ dependencies = [ [[package]] name = "libp2p-websocket" -version = "0.45.0" +version = "0.45.1" dependencies = [ "async-std", "either", @@ -3607,12 +3607,12 @@ dependencies = [ name = "libp2p-yamux" version = "0.47.0" dependencies = [ - "async-std", "either", "futures", "libp2p-core", "libp2p-muxer-test-harness", "thiserror 2.0.9", + "tokio", "tracing", "yamux 0.12.1", "yamux 0.13.4", diff --git a/Cargo.toml b/Cargo.toml index 60c331a8c94..3ca43bae7fd 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -88,7 +88,7 @@ libp2p-kad = { version = "0.47.0", path = "protocols/kad" } libp2p-mdns = { version = "0.47.0", path = "protocols/mdns" } libp2p-memory-connection-limits = { version = "0.4.0", path = "misc/memory-connection-limits" } libp2p-metrics = { version = "0.16.0", path = "misc/metrics" } -libp2p-mplex = { version = "0.43.0", path = "muxers/mplex" } +libp2p-mplex = { version = "0.43.1", path = "muxers/mplex" } libp2p-noise = { version = "0.46.0", path = "transports/noise" } libp2p-perf = { version = "0.4.0", path = "protocols/perf" } libp2p-ping = { version = "0.46.0", path = "protocols/ping" } @@ -110,7 +110,7 @@ libp2p-upnp = { version = "0.4.0", path = "protocols/upnp" } libp2p-webrtc = { version = "0.9.0-alpha", path = "transports/webrtc" } libp2p-webrtc-utils = { version = "0.4.0", path = "misc/webrtc-utils" } libp2p-webrtc-websys = { version = "0.4.0", path = "transports/webrtc-websys" } -libp2p-websocket = { version = "0.45.0", path = "transports/websocket" } +libp2p-websocket = { version = "0.45.1", path = "transports/websocket" } libp2p-websocket-websys = { version = "0.5.0", path = "transports/websocket-websys" } libp2p-webtransport = { version = "0.1.0", path = "transports/webtransport" } libp2p-webtransport-websys = { version = "0.5.0", path = "transports/webtransport-websys" } diff --git a/core/tests/transport_upgrade.rs b/core/tests/transport_upgrade.rs index 968ce79c73d..82a17877f9c 100644 --- a/core/tests/transport_upgrade.rs +++ b/core/tests/transport_upgrade.rs @@ -27,7 +27,7 @@ use libp2p_core::{ Endpoint, }; use libp2p_identity as identity; -use libp2p_mplex::MplexConfig; +use libp2p_mplex::Config; use libp2p_noise as noise; use multiaddr::{Multiaddr, Protocol}; use rand::random; @@ -89,7 +89,7 @@ async fn upgrade_pipeline() { .apply(HelloUpgrade {}) .apply(HelloUpgrade {}) .apply(HelloUpgrade {}) - .multiplex(MplexConfig::default()) + .multiplex(Config::default()) .boxed(); let dialer_keys = identity::Keypair::generate_ed25519(); @@ -100,7 +100,7 @@ async fn upgrade_pipeline() { .apply(HelloUpgrade {}) .apply(HelloUpgrade {}) .apply(HelloUpgrade {}) - .multiplex(MplexConfig::default()) + .multiplex(Config::default()) .boxed(); let listen_addr1 = Multiaddr::from(Protocol::Memory(random::())); diff --git a/interop-tests/src/arch.rs b/interop-tests/src/arch.rs index 91fc69dc215..88c4c5767de 100644 --- a/interop-tests/src/arch.rs +++ b/interop-tests/src/arch.rs @@ -58,7 +58,7 @@ pub(crate) mod native { .with_tcp( tcp::Config::default(), tls::Config::new, - mplex::MplexConfig::default, + mplex::Config::default, )? .with_behaviour(behaviour_constructor)? .build(), @@ -82,7 +82,7 @@ pub(crate) mod native { .with_tcp( tcp::Config::default(), noise::Config::new, - mplex::MplexConfig::default, + mplex::Config::default, )? .with_behaviour(behaviour_constructor)? .build(), @@ -103,7 +103,7 @@ pub(crate) mod native { (Transport::Ws, Some(SecProtocol::Tls), Some(Muxer::Mplex)) => ( libp2p::SwarmBuilder::with_new_identity() .with_tokio() - .with_websocket(tls::Config::new, mplex::MplexConfig::default) + .with_websocket(tls::Config::new, mplex::Config::default) .await? .with_behaviour(behaviour_constructor)? .build(), @@ -121,7 +121,7 @@ pub(crate) mod native { (Transport::Ws, Some(SecProtocol::Noise), Some(Muxer::Mplex)) => ( libp2p::SwarmBuilder::with_new_identity() .with_tokio() - .with_websocket(noise::Config::new, mplex::MplexConfig::default) + .with_websocket(noise::Config::new, mplex::Config::default) .await? .with_behaviour(behaviour_constructor)? .build(), @@ -235,7 +235,7 @@ pub(crate) mod wasm { noise::Config::new(&local_key) .context("failed to initialise noise")?, ) - .multiplex(mplex::MplexConfig::new())) + .multiplex(mplex::Config::new())) })? .with_behaviour(behaviour_constructor)? .with_swarm_config(|c| c.with_idle_connection_timeout(Duration::from_secs(5))) diff --git a/libp2p/src/builder.rs b/libp2p/src/builder.rs index ae4d0b0d4e4..dd6a1145544 100644 --- a/libp2p/src/builder.rs +++ b/libp2p/src/builder.rs @@ -176,10 +176,7 @@ mod tests { .with_tcp( Default::default(), libp2p_tls::Config::new, - ( - libp2p_yamux::Config::default, - libp2p_mplex::MplexConfig::default, - ), + (libp2p_yamux::Config::default, libp2p_mplex::Config::default), ) .unwrap() .with_behaviour(|_| libp2p_swarm::dummy::Behaviour) @@ -201,10 +198,7 @@ mod tests { .with_tcp( Default::default(), (libp2p_tls::Config::new, libp2p_noise::Config::new), - ( - libp2p_yamux::Config::default, - libp2p_mplex::MplexConfig::default, - ), + (libp2p_yamux::Config::default, libp2p_mplex::Config::default), ) .unwrap() .with_behaviour(|_| libp2p_swarm::dummy::Behaviour) diff --git a/libp2p/src/builder/phase/websocket.rs b/libp2p/src/builder/phase/websocket.rs index a23c6eca854..bb9c0da7fff 100644 --- a/libp2p/src/builder/phase/websocket.rs +++ b/libp2p/src/builder/phase/websocket.rs @@ -93,7 +93,7 @@ macro_rules! impl_websocket_builder { { let security_upgrade = security_upgrade.into_security_upgrade(&self.keypair) .map_err(WebsocketErrorInner::SecurityUpgrade)?; - let websocket_transport = libp2p_websocket::WsConfig::new( + let websocket_transport = libp2p_websocket::Config::new( $dnsTcp.await.map_err(WebsocketErrorInner::Dns)?, ) .upgrade(libp2p_core::upgrade::Version::V1Lazy) diff --git a/misc/quick-protobuf-codec/src/lib.rs b/misc/quick-protobuf-codec/src/lib.rs index d49315a54c3..28b53946899 100644 --- a/misc/quick-protobuf-codec/src/lib.rs +++ b/misc/quick-protobuf-codec/src/lib.rs @@ -252,7 +252,7 @@ mod tests { let mut src = BytesMut::new(); src.extend_from_slice(encoded_length); - src.extend(std::iter::repeat(0).take(length)); + src.extend(std::iter::repeat_n(0, length)); src } diff --git a/muxers/mplex/CHANGELOG.md b/muxers/mplex/CHANGELOG.md index 651a4d6182e..331075b0d3f 100644 --- a/muxers/mplex/CHANGELOG.md +++ b/muxers/mplex/CHANGELOG.md @@ -1,3 +1,8 @@ +## 0.43.1 + +- Rename `MplexConfig` to `Config` for consistency with other crates (see [discussion 2174](https://github.com/libp2p/rust-libp2p/discussions/2174)). + See [PR 5870](https://github.com/libp2p/rust-libp2p/pull/5870). + ## 0.43.0 diff --git a/muxers/mplex/Cargo.toml b/muxers/mplex/Cargo.toml index 2bd6a49bbc8..b72bc368fd1 100644 --- a/muxers/mplex/Cargo.toml +++ b/muxers/mplex/Cargo.toml @@ -3,7 +3,7 @@ name = "libp2p-mplex" edition = "2021" rust-version = { workspace = true } description = "Mplex multiplexing protocol for libp2p" -version = "0.43.0" +version = "0.43.1" authors = ["Parity Technologies "] license = "MIT" repository = "https://github.com/libp2p/rust-libp2p" diff --git a/muxers/mplex/benches/split_send_size.rs b/muxers/mplex/benches/split_send_size.rs index b0dd4babff7..cd8de8cc02d 100644 --- a/muxers/mplex/benches/split_send_size.rs +++ b/muxers/mplex/benches/split_send_size.rs @@ -184,7 +184,7 @@ fn run( } fn tcp_transport(split_send_size: usize) -> BenchTransport { - let mut mplex = mplex::MplexConfig::default(); + let mut mplex = mplex::Config::default(); mplex.set_split_send_size(split_send_size); libp2p_tcp::async_io::Transport::new(libp2p_tcp::Config::default().nodelay(true)) @@ -198,7 +198,7 @@ fn tcp_transport(split_send_size: usize) -> BenchTransport { } fn mem_transport(split_send_size: usize) -> BenchTransport { - let mut mplex = mplex::MplexConfig::default(); + let mut mplex = mplex::Config::default(); mplex.set_split_send_size(split_send_size); transport::MemoryTransport::default() diff --git a/muxers/mplex/src/config.rs b/muxers/mplex/src/config.rs index 45bb05b2240..3497df29ea4 100644 --- a/muxers/mplex/src/config.rs +++ b/muxers/mplex/src/config.rs @@ -26,7 +26,7 @@ pub(crate) const DEFAULT_MPLEX_PROTOCOL_NAME: &str = "/mplex/6.7.0"; /// Configuration for the multiplexer. #[derive(Debug, Clone)] -pub struct MplexConfig { +pub struct Config { /// Maximum number of simultaneously used substreams. pub(crate) max_substreams: usize, /// Maximum number of frames buffered per substream. @@ -40,9 +40,9 @@ pub struct MplexConfig { pub(crate) protocol_name: &'static str, } -impl MplexConfig { +impl Config { /// Builds the default configuration. - pub fn new() -> MplexConfig { + pub fn new() -> Config { Default::default() } @@ -108,7 +108,7 @@ impl MplexConfig { pub enum MaxBufferBehaviour { /// Reset the substream whose frame buffer overflowed. /// - /// > **Note**: If more than [`MplexConfig::set_max_buffer_size()`] frames + /// > **Note**: If more than [`Config::set_max_buffer_size()`] frames /// > are received in succession for a substream in the context of /// > trying to read data from a different substream, the former substream /// > may be reset before application code had a chance to read from the @@ -130,9 +130,9 @@ pub enum MaxBufferBehaviour { Block, } -impl Default for MplexConfig { - fn default() -> MplexConfig { - MplexConfig { +impl Default for Config { + fn default() -> Config { + Config { max_substreams: 128, max_buffer_len: 32, max_buffer_behaviour: MaxBufferBehaviour::Block, diff --git a/muxers/mplex/src/io.rs b/muxers/mplex/src/io.rs index ac93fd3865e..14adff92989 100644 --- a/muxers/mplex/src/io.rs +++ b/muxers/mplex/src/io.rs @@ -41,7 +41,7 @@ use smallvec::SmallVec; use crate::{ codec::{Codec, Frame, LocalStreamId, RemoteStreamId}, - MaxBufferBehaviour, MplexConfig, + Config, MaxBufferBehaviour, }; /// A connection identifier. /// @@ -70,7 +70,7 @@ pub(crate) struct Multiplexed { /// The underlying multiplexed I/O stream. io: Fuse>, /// The configuration. - config: MplexConfig, + config: Config, /// The buffer of new inbound substreams that have not yet /// been drained by `poll_next_stream`. This buffer is /// effectively bounded by `max_substreams - substreams.len()`. @@ -122,7 +122,7 @@ where C: AsyncRead + AsyncWrite + Unpin, { /// Creates a new multiplexed I/O stream. - pub(crate) fn new(io: C, config: MplexConfig) -> Self { + pub(crate) fn new(io: C, config: Config) -> Self { let id = ConnectionId(rand::random()); tracing::debug!(connection=%id, "New multiplexed connection"); Multiplexed { @@ -1168,9 +1168,9 @@ mod tests { } } - impl Arbitrary for MplexConfig { - fn arbitrary(g: &mut Gen) -> MplexConfig { - MplexConfig { + impl Arbitrary for Config { + fn arbitrary(g: &mut Gen) -> Config { + Config { max_substreams: g.gen_range(1..100), max_buffer_len: g.gen_range(1..1000), max_buffer_behaviour: MaxBufferBehaviour::arbitrary(g), @@ -1236,7 +1236,7 @@ mod tests { .with_env_filter(EnvFilter::from_default_env()) .try_init(); - fn prop(cfg: MplexConfig, overflow: NonZeroU8) { + fn prop(cfg: Config, overflow: NonZeroU8) { let mut r_buf = BytesMut::new(); let mut codec = Codec::new(); @@ -1374,7 +1374,7 @@ mod tests { .with_env_filter(EnvFilter::from_default_env()) .try_init(); - fn prop(cfg: MplexConfig, num_streams: NonZeroU8) { + fn prop(cfg: Config, num_streams: NonZeroU8) { let num_streams = cmp::min(cfg.max_substreams, num_streams.get() as usize); // Setup the multiplexed connection. diff --git a/muxers/mplex/src/lib.rs b/muxers/mplex/src/lib.rs index 1ef89dc283a..5b2e59a5904 100644 --- a/muxers/mplex/src/lib.rs +++ b/muxers/mplex/src/lib.rs @@ -35,7 +35,7 @@ use std::{ use bytes::Bytes; use codec::LocalStreamId; -pub use config::{MaxBufferBehaviour, MplexConfig}; +pub use config::{Config, MaxBufferBehaviour}; use futures::{prelude::*, ready}; use libp2p_core::{ muxing::{StreamMuxer, StreamMuxerEvent}, @@ -43,7 +43,10 @@ use libp2p_core::{ }; use parking_lot::Mutex; -impl UpgradeInfo for MplexConfig { +#[deprecated = "Use `Config` instead"] +pub type MplexConfig = Config; + +impl UpgradeInfo for Config { type Info = &'static str; type InfoIter = iter::Once; @@ -52,7 +55,7 @@ impl UpgradeInfo for MplexConfig { } } -impl InboundConnectionUpgrade for MplexConfig +impl InboundConnectionUpgrade for Config where C: AsyncRead + AsyncWrite + Unpin, { @@ -68,7 +71,7 @@ where } } -impl OutboundConnectionUpgrade for MplexConfig +impl OutboundConnectionUpgrade for Config where C: AsyncRead + AsyncWrite + Unpin, { diff --git a/muxers/mplex/tests/compliance.rs b/muxers/mplex/tests/compliance.rs index d3bcd37bf34..f364ab740ec 100644 --- a/muxers/mplex/tests/compliance.rs +++ b/muxers/mplex/tests/compliance.rs @@ -1,10 +1,9 @@ -use libp2p_mplex::MplexConfig; +use libp2p_mplex::Config; #[async_std::test] async fn close_implies_flush() { let (alice, bob) = - libp2p_muxer_test_harness::connected_muxers_on_memory_ring_buffer::() - .await; + libp2p_muxer_test_harness::connected_muxers_on_memory_ring_buffer::().await; libp2p_muxer_test_harness::close_implies_flush(alice, bob).await; } @@ -12,8 +11,7 @@ async fn close_implies_flush() { #[async_std::test] async fn read_after_close() { let (alice, bob) = - libp2p_muxer_test_harness::connected_muxers_on_memory_ring_buffer::() - .await; + libp2p_muxer_test_harness::connected_muxers_on_memory_ring_buffer::().await; libp2p_muxer_test_harness::read_after_close(alice, bob).await; } diff --git a/muxers/yamux/Cargo.toml b/muxers/yamux/Cargo.toml index 98beb55982c..44fb12399c7 100644 --- a/muxers/yamux/Cargo.toml +++ b/muxers/yamux/Cargo.toml @@ -20,7 +20,7 @@ yamux013 = { version = "0.13.3", package = "yamux" } tracing = { workspace = true } [dev-dependencies] -async-std = { version = "1.7.0", features = ["attributes"] } +tokio = { workspace = true, features = ["macros", "rt-multi-thread"] } libp2p-muxer-test-harness = { path = "../test-harness" } # Passing arguments to the docsrs builder in order to properly document cfg's. diff --git a/muxers/yamux/tests/compliance.rs b/muxers/yamux/tests/compliance.rs index 14d69952b0e..c671f95b7e7 100644 --- a/muxers/yamux/tests/compliance.rs +++ b/muxers/yamux/tests/compliance.rs @@ -1,6 +1,6 @@ use libp2p_yamux::Config; -#[async_std::test] +#[tokio::test] async fn close_implies_flush() { let (alice, bob) = libp2p_muxer_test_harness::connected_muxers_on_memory_ring_buffer::().await; @@ -8,7 +8,7 @@ async fn close_implies_flush() { libp2p_muxer_test_harness::close_implies_flush(alice, bob).await; } -#[async_std::test] +#[tokio::test] async fn read_after_close() { let (alice, bob) = libp2p_muxer_test_harness::connected_muxers_on_memory_ring_buffer::().await; diff --git a/protocols/autonat/src/v2/client/handler/dial_request.rs b/protocols/autonat/src/v2/client/handler/dial_request.rs index 61f564505eb..9fb54c87a49 100644 --- a/protocols/autonat/src/v2/client/handler/dial_request.rs +++ b/protocols/autonat/src/v2/client/handler/dial_request.rs @@ -2,7 +2,7 @@ use std::{ collections::VecDeque, convert::Infallible, io, - iter::{once, repeat}, + iter::{once, repeat_n}, task::{Context, Poll}, time::Duration, }; @@ -326,8 +326,7 @@ where { let count_full = num_bytes / DATA_FIELD_LEN_UPPER_BOUND; let partial_len = num_bytes % DATA_FIELD_LEN_UPPER_BOUND; - for req in repeat(DATA_FIELD_LEN_UPPER_BOUND) - .take(count_full) + for req in repeat_n(DATA_FIELD_LEN_UPPER_BOUND, count_full) .chain(once(partial_len)) .filter(|e| *e > 0) .map(|data_count| { diff --git a/protocols/kad/src/kbucket/key.rs b/protocols/kad/src/kbucket/key.rs index ce14a3f779a..4080657d239 100644 --- a/protocols/kad/src/kbucket/key.rs +++ b/protocols/kad/src/kbucket/key.rs @@ -17,6 +17,7 @@ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER // DEALINGS IN THE SOFTWARE. +#![allow(clippy::manual_div_ceil)] use std::{ borrow::Borrow, diff --git a/protocols/kad/src/lib.rs b/protocols/kad/src/lib.rs index 91983b9aaf7..5201832a2ba 100644 --- a/protocols/kad/src/lib.rs +++ b/protocols/kad/src/lib.rs @@ -88,7 +88,7 @@ pub use record::{store, Key as RecordKey, ProviderRecord, Record}; /// DHT should agree on the choices made for (1) and (2). /// /// The current value is `20`. -pub const K_VALUE: NonZeroUsize = unsafe { NonZeroUsize::new_unchecked(20) }; +pub const K_VALUE: NonZeroUsize = NonZeroUsize::new(20).unwrap(); /// The `α` parameter of the Kademlia specification. /// @@ -98,7 +98,7 @@ pub const K_VALUE: NonZeroUsize = unsafe { NonZeroUsize::new_unchecked(20) }; /// locating the closest peers to a key. /// /// The current value is `3`. -pub const ALPHA_VALUE: NonZeroUsize = unsafe { NonZeroUsize::new_unchecked(3) }; +pub const ALPHA_VALUE: NonZeroUsize = NonZeroUsize::new(3).unwrap(); pub const PROTOCOL_NAME: StreamProtocol = protocol::DEFAULT_PROTO_NAME; diff --git a/transports/pnet/tests/smoke.rs b/transports/pnet/tests/smoke.rs index ae4fcc4b3fc..d57b191d752 100644 --- a/transports/pnet/tests/smoke.rs +++ b/transports/pnet/tests/smoke.rs @@ -30,7 +30,7 @@ async fn can_establish_connection_tcp() { #[tokio::test] async fn can_establish_connection_websocket() { can_establish_connection_inner_with_timeout( - || libp2p_websocket::WsConfig::new(libp2p_tcp::tokio::Transport::default()), + || libp2p_websocket::Config::new(libp2p_tcp::tokio::Transport::default()), "/ip4/127.0.0.1/tcp/0/ws".parse().unwrap(), ) .await diff --git a/transports/webrtc/src/tokio/udp_mux.rs b/transports/webrtc/src/tokio/udp_mux.rs index dcb88592c9b..090f99a8ef2 100644 --- a/transports/webrtc/src/tokio/udp_mux.rs +++ b/transports/webrtc/src/tokio/udp_mux.rs @@ -561,7 +561,7 @@ fn ufrag_from_stun_message(buffer: &[u8], local_ufrag: bool) -> Result Ok(s.to_owned()), diff --git a/transports/websocket/CHANGELOG.md b/transports/websocket/CHANGELOG.md index 6b12e3a786a..4b1e2399042 100644 --- a/transports/websocket/CHANGELOG.md +++ b/transports/websocket/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.45.1 +- Rename types to match naming convention in [discussion 2174](https://github.com/libp2p/rust-libp2p/discussions/2174). + See [PR 5873](https://github.com/libp2p/rust-libp2p/pull/5873). + ## 0.45.0 - fix: Return `Error::InvalidMultiaddr` when dialed to a `/dnsaddr` address diff --git a/transports/websocket/Cargo.toml b/transports/websocket/Cargo.toml index 69a4f3bb83a..7de771ebb4f 100644 --- a/transports/websocket/Cargo.toml +++ b/transports/websocket/Cargo.toml @@ -3,7 +3,7 @@ name = "libp2p-websocket" edition = "2021" rust-version = { workspace = true } description = "WebSocket transport for libp2p" -version = "0.45.0" +version = "0.45.1" authors = ["Parity Technologies "] license = "MIT" repository = "https://github.com/libp2p/rust-libp2p" diff --git a/transports/websocket/src/framed.rs b/transports/websocket/src/framed.rs index 3d2738cbc3c..3e667c8cc1b 100644 --- a/transports/websocket/src/framed.rs +++ b/transports/websocket/src/framed.rs @@ -51,9 +51,12 @@ const MAX_DATA_SIZE: usize = 256 * 1024 * 1024; /// A Websocket transport whose output type is a [`Stream`] and [`Sink`] of /// frame payloads which does not implement [`AsyncRead`] or -/// [`AsyncWrite`]. See [`crate::WsConfig`] if you require the latter. +/// [`AsyncWrite`]. See [`crate::Config`] if you require the latter. +#[deprecated = "Use `Config` instead"] +pub type WsConfig = Config; + #[derive(Debug)] -pub struct WsConfig { +pub struct Config { transport: Arc>, max_data_size: usize, tls_config: tls::Config, @@ -62,13 +65,13 @@ pub struct WsConfig { listener_protos: HashMap>, } -impl WsConfig +impl Config where T: Send, { /// Create a new websocket transport based on another transport. pub fn new(transport: T) -> Self { - WsConfig { + Config { transport: Arc::new(Mutex::new(transport)), max_data_size: MAX_DATA_SIZE, tls_config: tls::Config::client(), @@ -108,7 +111,7 @@ where type TlsOrPlain = future::Either, server::TlsStream>, T>; -impl Transport for WsConfig +impl Transport for Config where T: Transport + Send + Unpin + 'static, T::Error: Send + 'static, @@ -242,7 +245,7 @@ where } } -impl WsConfig +impl Config where T: Transport + Send + Unpin + 'static, T::Error: Send + 'static, diff --git a/transports/websocket/src/lib.rs b/transports/websocket/src/lib.rs index fbed8fddc66..5ce58a6a2a6 100644 --- a/transports/websocket/src/lib.rs +++ b/transports/websocket/src/lib.rs @@ -76,7 +76,7 @@ use rw_stream_sink::RwStreamSink; /// # #[async_std::main] /// # async fn main() { /// -/// let mut transport = websocket::WsConfig::new( +/// let mut transport = websocket::Config::new( /// dns::async_std::Transport::system(tcp::async_io::Transport::new(tcp::Config::default())) /// .await /// .unwrap(), @@ -117,7 +117,7 @@ use rw_stream_sink::RwStreamSink; /// # async fn main() { /// /// let mut transport = -/// websocket::WsConfig::new(tcp::async_io::Transport::new(tcp::Config::default())); +/// websocket::Config::new(tcp::async_io::Transport::new(tcp::Config::default())); /// /// let id = transport /// .listen_on( @@ -134,16 +134,19 @@ use rw_stream_sink::RwStreamSink; /// /// # } /// ``` +#[deprecated = "Use `Config` instead"] +pub type WsConfig = Config; + #[derive(Debug)] -pub struct WsConfig +pub struct Config where T: Transport, T::Output: AsyncRead + AsyncWrite + Send + Unpin + 'static, { - transport: libp2p_core::transport::map::Map, WrapperFn>, + transport: libp2p_core::transport::map::Map, WrapperFn>, } -impl WsConfig +impl Config where T: Transport + Send + Unpin + 'static, T::Error: Send + 'static, @@ -161,8 +164,7 @@ where /// > the inner transport. pub fn new(transport: T) -> Self { Self { - transport: framed::WsConfig::new(transport) - .map(wrap_connection as WrapperFn), + transport: framed::Config::new(transport).map(wrap_connection as WrapperFn), } } @@ -195,7 +197,7 @@ where } } -impl Transport for WsConfig +impl Transport for Config where T: Transport + Send + Unpin + 'static, T::Error: Send + 'static, @@ -236,7 +238,7 @@ where } } -/// Type alias corresponding to `framed::WsConfig::Dial` and `framed::WsConfig::ListenerUpgrade`. +/// Type alias corresponding to `framed::Config::Dial` and `framed::Config::ListenerUpgrade`. pub type InnerFuture = BoxFuture<'static, Result, Error>>; /// Function type that wraps a websocket connection (see. `wrap_connection`). @@ -310,7 +312,7 @@ mod tests { use libp2p_identity::PeerId; use libp2p_tcp as tcp; - use super::WsConfig; + use super::Config; #[test] fn dialer_connects_to_listener_ipv4() { @@ -324,8 +326,8 @@ mod tests { futures::executor::block_on(connect(a)) } - fn new_ws_config() -> WsConfig { - WsConfig::new(tcp::async_io::Transport::new(tcp::Config::default())) + fn new_ws_config() -> Config { + Config::new(tcp::async_io::Transport::new(tcp::Config::default())) } async fn connect(listen_addr: Multiaddr) {