Struct Behaviour
pub struct Behaviour<S> { /* private fields */ }
Expand description
A NetworkBehaviour
that can act as an allow or block list.
Implementations§
§impl Behaviour<AllowedPeers>
impl Behaviour<AllowedPeers>
pub fn allowed_peers(&self) -> &HashSet<PeerId>
pub fn allowed_peers(&self) -> &HashSet<PeerId>
Peers that are currently allowed.
pub fn allow_peer(&mut self, peer: PeerId) -> bool
pub fn allow_peer(&mut self, peer: PeerId) -> bool
Allow connections to the given peer.
Returns whether the peer was newly inserted. Does nothing if the peer was already present in the set.
pub fn disallow_peer(&mut self, peer: PeerId) -> bool
pub fn disallow_peer(&mut self, peer: PeerId) -> bool
Disallow connections to the given peer.
All active connections to this peer will be closed immediately.
Returns whether the peer was present in the set. Does nothing if the peer was not present in the set.
§impl Behaviour<BlockedPeers>
impl Behaviour<BlockedPeers>
pub fn blocked_peers(&self) -> &HashSet<PeerId>
pub fn blocked_peers(&self) -> &HashSet<PeerId>
Peers that are currently blocked.
pub fn block_peer(&mut self, peer: PeerId) -> bool
pub fn block_peer(&mut self, peer: PeerId) -> bool
Block connections to a given peer.
All active connections to this peer will be closed immediately.
Returns whether the peer was newly inserted. Does nothing if the peer was already present in the set.
pub fn unblock_peer(&mut self, peer: PeerId) -> bool
pub fn unblock_peer(&mut self, peer: PeerId) -> bool
Unblock connections to a given peer.
Returns whether the peer was present in the set. Does nothing if the peer was not present in the set.
Trait Implementations§
§impl<S> NetworkBehaviour for Behaviour<S>where
S: Enforce,
impl<S> NetworkBehaviour for Behaviour<S>where
S: Enforce,
§type ConnectionHandler = ConnectionHandler
type ConnectionHandler = ConnectionHandler
§type ToSwarm = Infallible
type ToSwarm = Infallible
NetworkBehaviour
and that the swarm will report back.§fn handle_established_inbound_connection(
&mut self,
_: ConnectionId,
peer: PeerId,
_: &Multiaddr,
_: &Multiaddr,
) -> Result<<Behaviour<S> as NetworkBehaviour>::ConnectionHandler, ConnectionDenied>
fn handle_established_inbound_connection( &mut self, _: ConnectionId, peer: PeerId, _: &Multiaddr, _: &Multiaddr, ) -> Result<<Behaviour<S> as NetworkBehaviour>::ConnectionHandler, ConnectionDenied>
§fn handle_pending_outbound_connection(
&mut self,
_: ConnectionId,
peer: Option<PeerId>,
_: &[Multiaddr],
_: Endpoint,
) -> Result<Vec<Multiaddr>, ConnectionDenied>
fn handle_pending_outbound_connection( &mut self, _: ConnectionId, peer: Option<PeerId>, _: &[Multiaddr], _: Endpoint, ) -> Result<Vec<Multiaddr>, ConnectionDenied>
§fn handle_established_outbound_connection(
&mut self,
_: ConnectionId,
peer: PeerId,
_: &Multiaddr,
_: Endpoint,
_: PortUse,
) -> Result<<Behaviour<S> as NetworkBehaviour>::ConnectionHandler, ConnectionDenied>
fn handle_established_outbound_connection( &mut self, _: ConnectionId, peer: PeerId, _: &Multiaddr, _: Endpoint, _: PortUse, ) -> Result<<Behaviour<S> as NetworkBehaviour>::ConnectionHandler, ConnectionDenied>
§fn on_swarm_event(&mut self, _event: FromSwarm<'_>)
fn on_swarm_event(&mut self, _event: FromSwarm<'_>)
Swarm
.§fn on_connection_handler_event(
&mut self,
_id: PeerId,
_: ConnectionId,
event: <<Behaviour<S> as NetworkBehaviour>::ConnectionHandler as ConnectionHandler>::ToBehaviour,
)
fn on_connection_handler_event( &mut self, _id: PeerId, _: ConnectionId, event: <<Behaviour<S> as NetworkBehaviour>::ConnectionHandler as ConnectionHandler>::ToBehaviour, )
ConnectionHandler
dedicated to the peer identified by peer_id
. for the behaviour. Read more§fn poll(
&mut self,
cx: &mut Context<'_>,
) -> Poll<ToSwarm<<Behaviour<S> as NetworkBehaviour>::ToSwarm, <<Behaviour<S> as NetworkBehaviour>::ConnectionHandler as ConnectionHandler>::FromBehaviour>>
fn poll( &mut self, cx: &mut Context<'_>, ) -> Poll<ToSwarm<<Behaviour<S> as NetworkBehaviour>::ToSwarm, <<Behaviour<S> as NetworkBehaviour>::ConnectionHandler as ConnectionHandler>::FromBehaviour>>
§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>
Auto Trait Implementations§
impl<S> Freeze for Behaviour<S>where
S: Freeze,
impl<S> RefUnwindSafe for Behaviour<S>where
S: RefUnwindSafe,
impl<S> Send for Behaviour<S>where
S: Send,
impl<S> Sync for Behaviour<S>where
S: Sync,
impl<S> Unpin for Behaviour<S>where
S: Unpin,
impl<S> UnwindSafe for Behaviour<S>where
S: UnwindSafe,
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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> ⓘ
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> ⓘ
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