Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -225,7 +225,7 @@ jobs:
fail-fast: false
matrix:
rust-version: [
1.83.0, # current stable
1.85.0, # current stable
beta,
]
steps:
Expand Down
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,8 @@ members = [
resolver = "2"

[workspace.package]
rust-version = "1.83.0"
edition = "2021"
rust-version = "1.85.0"
edition = "2024"

[workspace.dependencies]
libp2p = { version = "0.55.1", path = "libp2p" }
Expand Down
2 changes: 1 addition & 1 deletion core/src/either.rs
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,9 @@ use futures::prelude::*;
use pin_project::pin_project;

use crate::{
Multiaddr,
muxing::{StreamMuxer, StreamMuxerEvent},
transport::{DialOpts, ListenerId, Transport, TransportError, TransportEvent},
Multiaddr,
};

impl<A, B> StreamMuxer for future::Either<A, B>
Expand Down
2 changes: 1 addition & 1 deletion core/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ mod proto {
include!("generated/mod.rs");
pub use self::{
envelope_proto::*,
peer_record_proto::{mod_PeerRecord::*, PeerRecord},
peer_record_proto::{PeerRecord, mod_PeerRecord::*},
};
}

Expand Down
2 changes: 1 addition & 1 deletion core/src/muxing.rs
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,8 @@
use std::{future::Future, pin::Pin};

use futures::{
task::{Context, Poll},
AsyncRead, AsyncWrite,
task::{Context, Poll},
};
use multiaddr::Multiaddr;

Expand Down
2 changes: 1 addition & 1 deletion core/src/peer_record.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ use libp2p_identity::{Keypair, PeerId, SigningError};
use quick_protobuf::{BytesReader, Writer};
use web_time::SystemTime;

use crate::{proto, signed_envelope, signed_envelope::SignedEnvelope, DecodeError, Multiaddr};
use crate::{DecodeError, Multiaddr, proto, signed_envelope, signed_envelope::SignedEnvelope};

const PAYLOAD_TYPE: &str = "/libp2p/routing-state-record";
const DOMAIN_SEP: &str = "libp2p-routing-state";
Expand Down
2 changes: 1 addition & 1 deletion core/src/signed_envelope.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ use libp2p_identity::{Keypair, PublicKey, SigningError};
use quick_protobuf::{BytesReader, Writer};
use unsigned_varint::encode::usize_buffer;

use crate::{proto, DecodeError};
use crate::{DecodeError, proto};

/// A signed envelope contains an arbitrary byte string payload, a signature of the payload, and the
/// public key that can be used to verify the signature.
Expand Down
2 changes: 1 addition & 1 deletion core/src/transport/and_then.rs
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ where
Poll::Ready(Ok(v)) => Poll::Ready(Ok(v)),
Poll::Ready(Err(err)) => return Poll::Ready(Err(Either::Right(err))),
Poll::Pending => Poll::Pending,
}
};
}
};

Expand Down
8 changes: 4 additions & 4 deletions core/src/transport/choice.rs
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ where
addr
}
Err(TransportError::Other(err)) => {
return Err(TransportError::Other(Either::Left(err)))
return Err(TransportError::Other(Either::Left(err)));
}
};

Expand All @@ -140,7 +140,7 @@ where
addr
}
Err(TransportError::Other(err)) => {
return Err(TransportError::Other(Either::Right(err)))
return Err(TransportError::Other(Either::Right(err)));
}
};

Expand All @@ -154,13 +154,13 @@ where
let this = self.project();
match this.0.poll(cx) {
Poll::Ready(ev) => {
return Poll::Ready(ev.map_upgrade(EitherFuture::First).map_err(Either::Left))
return Poll::Ready(ev.map_upgrade(EitherFuture::First).map_err(Either::Left));
}
Poll::Pending => {}
}
match this.1.poll(cx) {
Poll::Ready(ev) => {
return Poll::Ready(ev.map_upgrade(EitherFuture::Second).map_err(Either::Right))
return Poll::Ready(ev.map_upgrade(EitherFuture::Second).map_err(Either::Right));
}
Poll::Pending => {}
}
Expand Down
2 changes: 1 addition & 1 deletion core/src/transport/dummy.rs
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ use futures::{
};

use crate::{
transport::{DialOpts, ListenerId, Transport, TransportError, TransportEvent},
Multiaddr,
transport::{DialOpts, ListenerId, Transport, TransportError, TransportEvent},
};

/// Implementation of `Transport` that doesn't support any multiaddr.
Expand Down
68 changes: 39 additions & 29 deletions core/src/transport/memory.rs
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
// DEALINGS IN THE SOFTWARE.

use std::{
collections::{hash_map::Entry, VecDeque},
collections::{VecDeque, hash_map::Entry},
error, fmt, io,
num::NonZeroU64,
pin::Pin,
Expand Down Expand Up @@ -406,7 +406,7 @@ impl<T> Drop for Chan<T> {
#[cfg(test)]
mod tests {
use super::*;
use crate::{transport::PortUse, Endpoint};
use crate::{Endpoint, transport::PortUse};

#[test]
fn parse_memory_addr_works() {
Expand Down Expand Up @@ -463,21 +463,27 @@ mod tests {
let listener_id_3 = ListenerId::next();
transport.listen_on(listener_id_3, addr_2.clone()).unwrap();

assert!(transport
.listen_on(ListenerId::next(), addr_1.clone())
.is_err());
assert!(transport
.listen_on(ListenerId::next(), addr_2.clone())
.is_err());
assert!(
transport
.listen_on(ListenerId::next(), addr_1.clone())
.is_err()
);
assert!(
transport
.listen_on(ListenerId::next(), addr_2.clone())
.is_err()
);

assert!(
transport.remove_listener(listener_id_2),
"Listener doesn't exist."
);
assert!(transport.listen_on(ListenerId::next(), addr_1).is_ok());
assert!(transport
.listen_on(ListenerId::next(), addr_2.clone())
.is_err());
assert!(
transport
.listen_on(ListenerId::next(), addr_2.clone())
.is_err()
);

assert!(
transport.remove_listener(listener_id_3),
Expand All @@ -489,30 +495,34 @@ mod tests {
#[test]
fn port_not_in_use() {
let mut transport = MemoryTransport::default();
assert!(transport
.dial(
"/memory/810172461024613".parse().unwrap(),
DialOpts {
role: Endpoint::Dialer,
port_use: PortUse::New
}
)
.is_err());
assert!(
transport
.dial(
"/memory/810172461024613".parse().unwrap(),
DialOpts {
role: Endpoint::Dialer,
port_use: PortUse::New
}
)
.is_err()
);
transport
.listen_on(
ListenerId::next(),
"/memory/810172461024613".parse().unwrap(),
)
.unwrap();
assert!(transport
.dial(
"/memory/810172461024613".parse().unwrap(),
DialOpts {
role: Endpoint::Dialer,
port_use: PortUse::New
}
)
.is_ok());
assert!(
transport
.dial(
"/memory/810172461024613".parse().unwrap(),
DialOpts {
role: Endpoint::Dialer,
port_use: PortUse::New
}
)
.is_ok()
);
}

#[test]
Expand Down
2 changes: 1 addition & 1 deletion core/src/transport/timeout.rs
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ use futures::prelude::*;
use futures_timer::Delay;

use crate::{
transport::{DialOpts, ListenerId, TransportError, TransportEvent},
Multiaddr, Transport,
transport::{DialOpts, ListenerId, TransportError, TransportEvent},
};

/// A `TransportTimeout` is a `Transport` that wraps another `Transport` and adds
Expand Down
31 changes: 17 additions & 14 deletions core/src/transport/upgrade.rs
Original file line number Diff line number Diff line change
Expand Up @@ -34,17 +34,17 @@ use multiaddr::Multiaddr;

pub use crate::upgrade::Version;
use crate::{
Negotiated,
connection::ConnectedPoint,
muxing::{StreamMuxer, StreamMuxerBox},
transport::{
and_then::AndThen, boxed::boxed, timeout::TransportTimeout, DialOpts, ListenerId,
Transport, TransportError, TransportEvent,
DialOpts, ListenerId, Transport, TransportError, TransportEvent, and_then::AndThen,
boxed::boxed, timeout::TransportTimeout,
},
upgrade::{
self, apply_inbound, apply_outbound, InboundConnectionUpgrade, InboundUpgradeApply,
OutboundConnectionUpgrade, OutboundUpgradeApply, UpgradeError,
self, InboundConnectionUpgrade, InboundUpgradeApply, OutboundConnectionUpgrade,
OutboundUpgradeApply, UpgradeError, apply_inbound, apply_outbound,
},
Negotiated,
};

/// A `Builder` facilitates upgrading of a [`Transport`] for use with
Expand Down Expand Up @@ -506,9 +506,10 @@ where
loop {
this.upgrade = match this.upgrade {
future::Either::Left(ref mut up) => {
let (i, c) = match ready!(TryFuture::try_poll(this.future.as_mut(), cx)
.map_err(TransportUpgradeError::Transport))
{
let (i, c) = match ready!(
TryFuture::try_poll(this.future.as_mut(), cx)
.map_err(TransportUpgradeError::Transport)
) {
Ok(v) => v,
Err(err) => return Poll::Ready(Err(err)),
};
Expand Down Expand Up @@ -565,9 +566,10 @@ where
loop {
this.upgrade = match this.upgrade {
future::Either::Left(ref mut up) => {
let (i, c) = match ready!(TryFuture::try_poll(this.future.as_mut(), cx)
.map_err(TransportUpgradeError::Transport))
{
let (i, c) = match ready!(
TryFuture::try_poll(this.future.as_mut(), cx)
.map_err(TransportUpgradeError::Transport)
) {
Ok(v) => v,
Err(err) => return Poll::Ready(Err(err)),
};
Expand All @@ -577,9 +579,10 @@ where
future::Either::Right((i, apply_inbound(c, u)))
}
future::Either::Right((i, ref mut up)) => {
let d = match ready!(TryFuture::try_poll(Pin::new(up), cx)
.map_err(TransportUpgradeError::Upgrade))
{
let d = match ready!(
TryFuture::try_poll(Pin::new(up), cx)
.map_err(TransportUpgradeError::Upgrade)
) {
Ok(v) => v,
Err(err) => return Poll::Ready(Err(err)),
};
Expand Down
2 changes: 1 addition & 1 deletion core/src/upgrade.rs
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ mod ready;
mod select;

pub(crate) use apply::{
apply, apply_inbound, apply_outbound, InboundUpgradeApply, OutboundUpgradeApply,
InboundUpgradeApply, OutboundUpgradeApply, apply, apply_inbound, apply_outbound,
};
pub(crate) use error::UpgradeError;
use futures::future::Future;
Expand Down
2 changes: 1 addition & 1 deletion core/src/upgrade/apply.rs
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,9 @@ pub(crate) use multistream_select::Version;
use multistream_select::{DialerSelectFuture, ListenerSelectFuture};

use crate::{
Negotiated,
connection::ConnectedPoint,
upgrade::{InboundConnectionUpgrade, OutboundConnectionUpgrade, UpgradeError},
Negotiated,
};

// TODO: Still needed?
Expand Down
2 changes: 1 addition & 1 deletion core/tests/transport_upgrade.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ use std::{io, pin::Pin};

use futures::prelude::*;
use libp2p_core::{
Endpoint,
transport::{DialOpts, ListenerId, MemoryTransport, PortUse, Transport},
upgrade::{self, InboundConnectionUpgrade, OutboundConnectionUpgrade, UpgradeInfo},
Endpoint,
};
use libp2p_identity as identity;
use libp2p_mplex::Config;
Expand Down
6 changes: 3 additions & 3 deletions examples/autonat/src/bin/autonat_client.rs
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,11 @@ use std::{error::Error, net::Ipv4Addr, time::Duration};
use clap::Parser;
use futures::StreamExt;
use libp2p::{
autonat,
core::{multiaddr::Protocol, Multiaddr},
PeerId, autonat,
core::{Multiaddr, multiaddr::Protocol},
identify, identity, noise,
swarm::{NetworkBehaviour, SwarmEvent},
tcp, yamux, PeerId,
tcp, yamux,
};
use tracing_subscriber::EnvFilter;

Expand Down
2 changes: 1 addition & 1 deletion examples/autonat/src/bin/autonat_server.rs
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ use clap::Parser;
use futures::StreamExt;
use libp2p::{
autonat,
core::{multiaddr::Protocol, Multiaddr},
core::{Multiaddr, multiaddr::Protocol},
identify, identity, noise,
swarm::{NetworkBehaviour, SwarmEvent},
tcp, yamux,
Expand Down
Loading
Loading