mirror of
https://github.com/fluencelabs/rust-libp2p
synced 2025-06-24 07:11:38 +00:00
refactor(dcutr): reshape public API to follow naming guidelines (#3214)
With this patch, the naming of types follows the guidelines discussed in #2217.
This commit is contained in:
@ -55,21 +55,21 @@ enum EventType {
|
|||||||
DirectConnectionUpgradeFailed,
|
DirectConnectionUpgradeFailed,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl From<&libp2p_dcutr::behaviour::Event> for EventType {
|
impl From<&libp2p_dcutr::Event> for EventType {
|
||||||
fn from(event: &libp2p_dcutr::behaviour::Event) -> Self {
|
fn from(event: &libp2p_dcutr::Event) -> Self {
|
||||||
match event {
|
match event {
|
||||||
libp2p_dcutr::behaviour::Event::InitiatedDirectConnectionUpgrade {
|
libp2p_dcutr::Event::InitiatedDirectConnectionUpgrade {
|
||||||
remote_peer_id: _,
|
remote_peer_id: _,
|
||||||
local_relayed_addr: _,
|
local_relayed_addr: _,
|
||||||
} => EventType::InitiateDirectConnectionUpgrade,
|
} => EventType::InitiateDirectConnectionUpgrade,
|
||||||
libp2p_dcutr::behaviour::Event::RemoteInitiatedDirectConnectionUpgrade {
|
libp2p_dcutr::Event::RemoteInitiatedDirectConnectionUpgrade {
|
||||||
remote_peer_id: _,
|
remote_peer_id: _,
|
||||||
remote_relayed_addr: _,
|
remote_relayed_addr: _,
|
||||||
} => EventType::RemoteInitiatedDirectConnectionUpgrade,
|
} => EventType::RemoteInitiatedDirectConnectionUpgrade,
|
||||||
libp2p_dcutr::behaviour::Event::DirectConnectionUpgradeSucceeded {
|
libp2p_dcutr::Event::DirectConnectionUpgradeSucceeded { remote_peer_id: _ } => {
|
||||||
remote_peer_id: _,
|
EventType::DirectConnectionUpgradeSucceeded
|
||||||
} => EventType::DirectConnectionUpgradeSucceeded,
|
}
|
||||||
libp2p_dcutr::behaviour::Event::DirectConnectionUpgradeFailed {
|
libp2p_dcutr::Event::DirectConnectionUpgradeFailed {
|
||||||
remote_peer_id: _,
|
remote_peer_id: _,
|
||||||
error: _,
|
error: _,
|
||||||
} => EventType::DirectConnectionUpgradeFailed,
|
} => EventType::DirectConnectionUpgradeFailed,
|
||||||
@ -77,8 +77,8 @@ impl From<&libp2p_dcutr::behaviour::Event> for EventType {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl super::Recorder<libp2p_dcutr::behaviour::Event> for Metrics {
|
impl super::Recorder<libp2p_dcutr::Event> for Metrics {
|
||||||
fn record(&self, event: &libp2p_dcutr::behaviour::Event) {
|
fn record(&self, event: &libp2p_dcutr::Event) {
|
||||||
self.events
|
self.events
|
||||||
.get_or_create(&EventLabels {
|
.get_or_create(&EventLabels {
|
||||||
event: event.into(),
|
event: event.into(),
|
||||||
|
@ -100,8 +100,8 @@ pub trait Recorder<Event> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "dcutr")]
|
#[cfg(feature = "dcutr")]
|
||||||
impl Recorder<libp2p_dcutr::behaviour::Event> for Metrics {
|
impl Recorder<libp2p_dcutr::Event> for Metrics {
|
||||||
fn record(&self, event: &libp2p_dcutr::behaviour::Event) {
|
fn record(&self, event: &libp2p_dcutr::Event) {
|
||||||
self.dcutr.record(event)
|
self.dcutr.record(event)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -7,8 +7,12 @@
|
|||||||
|
|
||||||
- Require the node's local `PeerId` to be passed into the constructor of `libp2p_dcutr::Behaviour`. See [PR 3153].
|
- Require the node's local `PeerId` to be passed into the constructor of `libp2p_dcutr::Behaviour`. See [PR 3153].
|
||||||
|
|
||||||
|
- Rename types in public API to follow naming conventions defined in [issue 2217]. See [PR 3214].
|
||||||
|
|
||||||
[PR 3213]: https://github.com/libp2p/rust-libp2p/pull/3213
|
[PR 3213]: https://github.com/libp2p/rust-libp2p/pull/3213
|
||||||
[PR 3153]: https://github.com/libp2p/rust-libp2p/pull/3153
|
[PR 3153]: https://github.com/libp2p/rust-libp2p/pull/3153
|
||||||
|
[issue 2217]: https://github.com/libp2p/rust-libp2p/issues/2217
|
||||||
|
[PR 3214]: https://github.com/libp2p/rust-libp2p/pull/3214
|
||||||
|
|
||||||
# 0.8.0
|
# 0.8.0
|
||||||
|
|
||||||
|
@ -114,7 +114,7 @@ fn main() -> Result<(), Box<dyn Error>> {
|
|||||||
relay_client: Client,
|
relay_client: Client,
|
||||||
ping: ping::Behaviour,
|
ping: ping::Behaviour,
|
||||||
identify: identify::Behaviour,
|
identify: identify::Behaviour,
|
||||||
dcutr: dcutr::behaviour::Behaviour,
|
dcutr: dcutr::Behaviour,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
@ -123,7 +123,7 @@ fn main() -> Result<(), Box<dyn Error>> {
|
|||||||
Ping(ping::Event),
|
Ping(ping::Event),
|
||||||
Identify(identify::Event),
|
Identify(identify::Event),
|
||||||
Relay(client::Event),
|
Relay(client::Event),
|
||||||
Dcutr(dcutr::behaviour::Event),
|
Dcutr(dcutr::Event),
|
||||||
}
|
}
|
||||||
|
|
||||||
impl From<ping::Event> for Event {
|
impl From<ping::Event> for Event {
|
||||||
@ -144,8 +144,8 @@ fn main() -> Result<(), Box<dyn Error>> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl From<dcutr::behaviour::Event> for Event {
|
impl From<dcutr::Event> for Event {
|
||||||
fn from(e: dcutr::behaviour::Event) -> Self {
|
fn from(e: dcutr::Event) -> Self {
|
||||||
Event::Dcutr(e)
|
Event::Dcutr(e)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -157,7 +157,7 @@ fn main() -> Result<(), Box<dyn Error>> {
|
|||||||
"/TODO/0.0.1".to_string(),
|
"/TODO/0.0.1".to_string(),
|
||||||
local_key.public(),
|
local_key.public(),
|
||||||
)),
|
)),
|
||||||
dcutr: dcutr::behaviour::Behaviour::new(local_peer_id),
|
dcutr: dcutr::Behaviour::new(local_peer_id),
|
||||||
};
|
};
|
||||||
|
|
||||||
let mut swarm = match ThreadPool::new() {
|
let mut swarm = match ThreadPool::new() {
|
||||||
|
@ -54,12 +54,12 @@ pub enum Event {
|
|||||||
},
|
},
|
||||||
DirectConnectionUpgradeFailed {
|
DirectConnectionUpgradeFailed {
|
||||||
remote_peer_id: PeerId,
|
remote_peer_id: PeerId,
|
||||||
error: UpgradeError,
|
error: Error,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Error)]
|
#[derive(Debug, Error)]
|
||||||
pub enum UpgradeError {
|
pub enum Error {
|
||||||
#[error("Failed to dial peer.")]
|
#[error("Failed to dial peer.")]
|
||||||
Dial,
|
Dial,
|
||||||
#[error("Failed to establish substream: {0}.")]
|
#[error("Failed to establish substream: {0}.")]
|
||||||
@ -164,7 +164,7 @@ impl Behaviour {
|
|||||||
.into(),
|
.into(),
|
||||||
NetworkBehaviourAction::GenerateEvent(Event::DirectConnectionUpgradeFailed {
|
NetworkBehaviourAction::GenerateEvent(Event::DirectConnectionUpgradeFailed {
|
||||||
remote_peer_id: peer_id,
|
remote_peer_id: peer_id,
|
||||||
error: UpgradeError::Dial,
|
error: Error::Dial,
|
||||||
})
|
})
|
||||||
.into(),
|
.into(),
|
||||||
]);
|
]);
|
||||||
@ -236,7 +236,7 @@ impl NetworkBehaviour for Behaviour {
|
|||||||
self.queued_actions.push_back(
|
self.queued_actions.push_back(
|
||||||
NetworkBehaviourAction::GenerateEvent(Event::DirectConnectionUpgradeFailed {
|
NetworkBehaviourAction::GenerateEvent(Event::DirectConnectionUpgradeFailed {
|
||||||
remote_peer_id: event_source,
|
remote_peer_id: event_source,
|
||||||
error: UpgradeError::Handler(error),
|
error: Error::Handler(error),
|
||||||
})
|
})
|
||||||
.into(),
|
.into(),
|
||||||
);
|
);
|
||||||
@ -260,7 +260,7 @@ impl NetworkBehaviour for Behaviour {
|
|||||||
self.queued_actions.push_back(
|
self.queued_actions.push_back(
|
||||||
NetworkBehaviourAction::GenerateEvent(Event::DirectConnectionUpgradeFailed {
|
NetworkBehaviourAction::GenerateEvent(Event::DirectConnectionUpgradeFailed {
|
||||||
remote_peer_id: event_source,
|
remote_peer_id: event_source,
|
||||||
error: UpgradeError::Handler(error),
|
error: Error::Handler(error),
|
||||||
})
|
})
|
||||||
.into(),
|
.into(),
|
||||||
);
|
);
|
@ -23,7 +23,7 @@
|
|||||||
|
|
||||||
#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
|
#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
|
||||||
|
|
||||||
pub mod behaviour;
|
mod behaviour_impl; // TODO: Rename back `behaviour` once deprecation symbols are removed.
|
||||||
mod handler;
|
mod handler;
|
||||||
mod protocol;
|
mod protocol;
|
||||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||||
@ -31,6 +31,35 @@ mod message_proto {
|
|||||||
include!(concat!(env!("OUT_DIR"), "/holepunch.pb.rs"));
|
include!(concat!(env!("OUT_DIR"), "/holepunch.pb.rs"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub use behaviour_impl::Behaviour;
|
||||||
|
pub use behaviour_impl::Error;
|
||||||
|
pub use behaviour_impl::Event;
|
||||||
pub use protocol::PROTOCOL_NAME;
|
pub use protocol::PROTOCOL_NAME;
|
||||||
pub type InboundUpgradeError = protocol::inbound::UpgradeError;
|
pub mod inbound {
|
||||||
pub type OutboundUpgradeError = protocol::outbound::UpgradeError;
|
pub use crate::protocol::inbound::UpgradeError;
|
||||||
|
}
|
||||||
|
pub mod outbound {
|
||||||
|
pub use crate::protocol::outbound::UpgradeError;
|
||||||
|
}
|
||||||
|
|
||||||
|
#[deprecated(
|
||||||
|
since = "0.9.0",
|
||||||
|
note = "Use `libp2p_dcutr::inbound::UpgradeError` instead.`"
|
||||||
|
)]
|
||||||
|
pub type InboundUpgradeError = inbound::UpgradeError;
|
||||||
|
|
||||||
|
#[deprecated(
|
||||||
|
since = "0.9.0",
|
||||||
|
note = "Use `libp2p_dcutr::outbound::UpgradeError` instead.`"
|
||||||
|
)]
|
||||||
|
pub type OutboundUpgradeError = outbound::UpgradeError;
|
||||||
|
pub mod behaviour {
|
||||||
|
#[deprecated(since = "0.9.0", note = "Use `libp2p_dcutr::Behaviour` instead.`")]
|
||||||
|
pub type Behaviour = crate::Behaviour;
|
||||||
|
|
||||||
|
#[deprecated(since = "0.9.0", note = "Use `libp2p_dcutr::Event` instead.`")]
|
||||||
|
pub type Event = crate::Event;
|
||||||
|
|
||||||
|
#[deprecated(since = "0.9.0", note = "Use `libp2p_dcutr::Error` instead.`")]
|
||||||
|
pub type UpgradeError = crate::Error;
|
||||||
|
}
|
||||||
|
@ -79,7 +79,7 @@ fn connect() {
|
|||||||
|
|
||||||
pool.run_until(wait_for_connection_established(&mut src, &dst_relayed_addr));
|
pool.run_until(wait_for_connection_established(&mut src, &dst_relayed_addr));
|
||||||
match pool.run_until(wait_for_dcutr_event(&mut src)) {
|
match pool.run_until(wait_for_dcutr_event(&mut src)) {
|
||||||
dcutr::behaviour::Event::RemoteInitiatedDirectConnectionUpgrade {
|
dcutr::Event::RemoteInitiatedDirectConnectionUpgrade {
|
||||||
remote_peer_id,
|
remote_peer_id,
|
||||||
remote_relayed_addr,
|
remote_relayed_addr,
|
||||||
} if remote_peer_id == dst_peer_id && remote_relayed_addr == dst_relayed_addr => {}
|
} if remote_peer_id == dst_peer_id && remote_relayed_addr == dst_relayed_addr => {}
|
||||||
@ -126,7 +126,7 @@ fn build_client() -> Swarm<Client> {
|
|||||||
transport,
|
transport,
|
||||||
Client {
|
Client {
|
||||||
relay: behaviour,
|
relay: behaviour,
|
||||||
dcutr: dcutr::behaviour::Behaviour::new(local_peer_id),
|
dcutr: dcutr::Behaviour::new(local_peer_id),
|
||||||
},
|
},
|
||||||
local_peer_id,
|
local_peer_id,
|
||||||
)
|
)
|
||||||
@ -154,13 +154,13 @@ where
|
|||||||
)]
|
)]
|
||||||
struct Client {
|
struct Client {
|
||||||
relay: client::Client,
|
relay: client::Client,
|
||||||
dcutr: dcutr::behaviour::Behaviour,
|
dcutr: dcutr::Behaviour,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
enum ClientEvent {
|
enum ClientEvent {
|
||||||
Relay(client::Event),
|
Relay(client::Event),
|
||||||
Dcutr(dcutr::behaviour::Event),
|
Dcutr(dcutr::Event),
|
||||||
}
|
}
|
||||||
|
|
||||||
impl From<client::Event> for ClientEvent {
|
impl From<client::Event> for ClientEvent {
|
||||||
@ -169,8 +169,8 @@ impl From<client::Event> for ClientEvent {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl From<dcutr::behaviour::Event> for ClientEvent {
|
impl From<dcutr::Event> for ClientEvent {
|
||||||
fn from(event: dcutr::behaviour::Event) -> Self {
|
fn from(event: dcutr::Event) -> Self {
|
||||||
ClientEvent::Dcutr(event)
|
ClientEvent::Dcutr(event)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -241,7 +241,7 @@ async fn wait_for_new_listen_addr(client: &mut Swarm<Client>, new_addr: &Multiad
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn wait_for_dcutr_event(client: &mut Swarm<Client>) -> dcutr::behaviour::Event {
|
async fn wait_for_dcutr_event(client: &mut Swarm<Client>) -> dcutr::Event {
|
||||||
loop {
|
loop {
|
||||||
match client.select_next_some().await {
|
match client.select_next_some().await {
|
||||||
SwarmEvent::Behaviour(ClientEvent::Dcutr(e)) => return e,
|
SwarmEvent::Behaviour(ClientEvent::Dcutr(e)) => return e,
|
||||||
|
Reference in New Issue
Block a user