mirror of
https://github.com/fluencelabs/rust-libp2p
synced 2025-06-13 01:51:23 +00:00
swarm/src/lib: Remove Deref and DerefMut impls on Swarm (#1995)
Remove `Deref` and `DerefMut` implementations previously dereferencing to the `NetworkBehaviour` on `Swarm`. Instead one can access the `NetworkBehaviour` via `Swarm::behaviour` and `Swarm::behaviour_mut`. Methods on `Swarm` can now be accessed directly, e.g. via `my_swarm.local_peer_id()`. Reasoning: Accessing the `NetworkBehaviour` of a `Swarm` through `Deref` and `DerefMut` instead of a method call is an unnecessary complication, especially for newcomers. In addition, `Swarm` is not a smart-pointer and should thus not make use of `Deref` and `DerefMut`, see documentation from the standard library below. > Deref should only be implemented for smart pointers to avoid confusion. https://doc.rust-lang.org/std/ops/trait.Deref.html
This commit is contained in:
@ -59,10 +59,10 @@
|
||||
//! let dst_addr = relay_addr.clone().with(Protocol::Memory(5678));
|
||||
//!
|
||||
//! // Listen for incoming connections via relay node (1234).
|
||||
//! Swarm::listen_on(&mut swarm, relay_addr).unwrap();
|
||||
//! swarm.listen_on(relay_addr).unwrap();
|
||||
//!
|
||||
//! // Dial node (5678) via relay node (1234).
|
||||
//! Swarm::dial_addr(&mut swarm, dst_addr).unwrap();
|
||||
//! swarm.dial_addr(dst_addr).unwrap();
|
||||
//! ```
|
||||
//!
|
||||
//! ## Terminology
|
||||
|
Reference in New Issue
Block a user