mirror of
https://github.com/fluencelabs/rust-libp2p
synced 2025-06-29 01:31:33 +00:00
swarm/: Provide additional default impls on NetworkBehaviour
(#2150)
Not all implementations of `NetworkBehaviour` need all callbacks. We've have been adding new callbacks with default implementations for a while now. There is no reason the initial ones cannot also be defaulted, thus making it easier create new implementations. Co-authored-by: Max Inden <mail@max-inden.de>
This commit is contained in:
@ -80,7 +80,9 @@ pub trait NetworkBehaviour: Send + 'static {
|
||||
/// The addresses will be tried in the order returned by this function, which means that they
|
||||
/// should be ordered by decreasing likelihood of reachability. In other words, the first
|
||||
/// address should be the most likely to be reachable.
|
||||
fn addresses_of_peer(&mut self, peer_id: &PeerId) -> Vec<Multiaddr>;
|
||||
fn addresses_of_peer(&mut self, _: &PeerId) -> Vec<Multiaddr> {
|
||||
vec![]
|
||||
}
|
||||
|
||||
/// Indicate to the behaviour that we connected to the node with the given peer id.
|
||||
///
|
||||
@ -88,7 +90,7 @@ pub trait NetworkBehaviour: Send + 'static {
|
||||
///
|
||||
/// This method is only called when the first connection to the peer is established, preceded by
|
||||
/// [`inject_connection_established`](NetworkBehaviour::inject_connection_established).
|
||||
fn inject_connected(&mut self, peer_id: &PeerId);
|
||||
fn inject_connected(&mut self, _: &PeerId) { }
|
||||
|
||||
/// Indicates to the behaviour that we disconnected from the node with the given peer id.
|
||||
///
|
||||
@ -97,7 +99,7 @@ pub trait NetworkBehaviour: Send + 'static {
|
||||
///
|
||||
/// This method is only called when the last established connection to the peer is closed,
|
||||
/// preceded by [`inject_connection_closed`](NetworkBehaviour::inject_connection_closed).
|
||||
fn inject_disconnected(&mut self, peer_id: &PeerId);
|
||||
fn inject_disconnected(&mut self, _: &PeerId) { }
|
||||
|
||||
/// Informs the behaviour about a newly established connection to a peer.
|
||||
fn inject_connection_established(&mut self, _: &PeerId, _: &ConnectionId, _: &ConnectedPoint)
|
||||
|
@ -605,7 +605,7 @@ where TBehaviour: NetworkBehaviour<ProtocolsHandler = THandler>,
|
||||
}
|
||||
this.behaviour.inject_new_listen_addr(listener_id, &listen_addr);
|
||||
return Poll::Ready(SwarmEvent::NewListenAddr {
|
||||
listener_id,
|
||||
listener_id,
|
||||
address: listen_addr
|
||||
});
|
||||
}
|
||||
@ -1156,21 +1156,15 @@ impl NetworkBehaviour for DummyBehaviour {
|
||||
protocols_handler::DummyProtocolsHandler::default()
|
||||
}
|
||||
|
||||
fn addresses_of_peer(&mut self, _: &PeerId) -> Vec<Multiaddr> {
|
||||
Vec::new()
|
||||
fn inject_event(
|
||||
&mut self,
|
||||
_: PeerId,
|
||||
_: ConnectionId,
|
||||
event: <Self::ProtocolsHandler as ProtocolsHandler>::OutEvent
|
||||
) {
|
||||
void::unreachable(event)
|
||||
}
|
||||
|
||||
fn inject_connected(&mut self, _: &PeerId) {}
|
||||
|
||||
fn inject_connection_established(&mut self, _: &PeerId, _: &ConnectionId, _: &ConnectedPoint) {}
|
||||
|
||||
fn inject_disconnected(&mut self, _: &PeerId) {}
|
||||
|
||||
fn inject_connection_closed(&mut self, _: &PeerId, _: &ConnectionId, _: &ConnectedPoint) {}
|
||||
|
||||
fn inject_event(&mut self, _: PeerId, _: ConnectionId,
|
||||
_: <Self::ProtocolsHandler as ProtocolsHandler>::OutEvent) {}
|
||||
|
||||
fn poll(&mut self, _: &mut Context<'_>, _: &mut impl PollParameters) ->
|
||||
Poll<NetworkBehaviourAction<<Self::ProtocolsHandler as
|
||||
ProtocolsHandler>::InEvent, Self::OutEvent>>
|
||||
|
@ -82,12 +82,6 @@ where
|
||||
self.addresses.get(p).map_or(Vec::new(), |v| v.clone())
|
||||
}
|
||||
|
||||
fn inject_connected(&mut self, _: &PeerId) {
|
||||
}
|
||||
|
||||
fn inject_disconnected(&mut self, _: &PeerId) {
|
||||
}
|
||||
|
||||
fn inject_event(&mut self, _: PeerId, _: ConnectionId, _: THandler::OutEvent) {
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user