Struct libp2p::swarm::keep_alive::Behaviour
source · pub struct Behaviour;
👎Deprecated: Configure an appropriate idle connection timeout via
SwarmBuilder::idle_connection_timeout
instead. To keep connections alive ‘forever’, use Duration::from_secs(u64::MAX)
.Expand description
Implementation of NetworkBehaviour
that doesn’t do anything other than keep all connections alive.
This is primarily useful for test code. In can however occasionally be useful for production code too. The caveat is that open connections consume system resources and should thus be shutdown when they are not in use. Connections can also fail at any time so really, your application should be designed to establish them when necessary, making the use of this behaviour likely redundant.
Trait Implementations§
source§impl NetworkBehaviour for Behaviour
impl NetworkBehaviour for Behaviour
§type ConnectionHandler = ConnectionHandler
type ConnectionHandler = ConnectionHandler
Handler for all the protocols the network behaviour supports.
source§fn handle_established_inbound_connection(
&mut self,
_: ConnectionId,
_: PeerId,
_: &Multiaddr,
_: &Multiaddr,
) -> Result<<Behaviour as NetworkBehaviour>::ConnectionHandler, ConnectionDenied>
fn handle_established_inbound_connection( &mut self, _: ConnectionId, _: PeerId, _: &Multiaddr, _: &Multiaddr, ) -> Result<<Behaviour as NetworkBehaviour>::ConnectionHandler, ConnectionDenied>
Callback that is invoked for every established inbound connection. Read more
source§fn handle_established_outbound_connection(
&mut self,
_: ConnectionId,
_: PeerId,
_: &Multiaddr,
_: Endpoint,
) -> Result<<Behaviour as NetworkBehaviour>::ConnectionHandler, ConnectionDenied>
fn handle_established_outbound_connection( &mut self, _: ConnectionId, _: PeerId, _: &Multiaddr, _: Endpoint, ) -> Result<<Behaviour as NetworkBehaviour>::ConnectionHandler, ConnectionDenied>
Callback that is invoked for every established outbound connection. Read more
source§fn on_connection_handler_event(
&mut self,
_: PeerId,
_: ConnectionId,
event: <<Behaviour as NetworkBehaviour>::ConnectionHandler as ConnectionHandler>::ToBehaviour,
)
fn on_connection_handler_event( &mut self, _: PeerId, _: ConnectionId, event: <<Behaviour as NetworkBehaviour>::ConnectionHandler as ConnectionHandler>::ToBehaviour, )
Informs the behaviour about an event generated by the
ConnectionHandler
dedicated to the peer identified by peer_id
. for the behaviour. Read moresource§fn poll(
&mut self,
_: &mut Context<'_>,
_: &mut impl PollParameters,
) -> Poll<ToSwarm<<Behaviour as NetworkBehaviour>::ToSwarm, <<Behaviour as NetworkBehaviour>::ConnectionHandler as ConnectionHandler>::FromBehaviour>>
fn poll( &mut self, _: &mut Context<'_>, _: &mut impl PollParameters, ) -> Poll<ToSwarm<<Behaviour as NetworkBehaviour>::ToSwarm, <<Behaviour as NetworkBehaviour>::ConnectionHandler as ConnectionHandler>::FromBehaviour>>
Polls for things that swarm should do. Read more
source§fn on_swarm_event(
&mut self,
event: FromSwarm<'_, <Behaviour as NetworkBehaviour>::ConnectionHandler>,
)
fn on_swarm_event( &mut self, event: FromSwarm<'_, <Behaviour as NetworkBehaviour>::ConnectionHandler>, )
Informs the behaviour about an event from the
Swarm
.source§fn handle_pending_inbound_connection(
&mut self,
_connection_id: ConnectionId,
_local_addr: &Multiaddr,
_remote_addr: &Multiaddr,
) -> Result<(), ConnectionDenied>
fn handle_pending_inbound_connection( &mut self, _connection_id: ConnectionId, _local_addr: &Multiaddr, _remote_addr: &Multiaddr, ) -> Result<(), ConnectionDenied>
Callback that is invoked for every new inbound connection. Read more
source§fn handle_pending_outbound_connection(
&mut self,
_connection_id: ConnectionId,
_maybe_peer: Option<PeerId>,
_addresses: &[Multiaddr],
_effective_role: Endpoint,
) -> Result<Vec<Multiaddr>, ConnectionDenied>
fn handle_pending_outbound_connection( &mut self, _connection_id: ConnectionId, _maybe_peer: Option<PeerId>, _addresses: &[Multiaddr], _effective_role: Endpoint, ) -> Result<Vec<Multiaddr>, ConnectionDenied>
Callback that is invoked for every outbound connection attempt. Read more
Auto Trait Implementations§
impl Freeze for Behaviour
impl RefUnwindSafe for Behaviour
impl Send for Behaviour
impl Sync for Behaviour
impl Unpin for Behaviour
impl UnwindSafe for Behaviour
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more