libp2p::allow_block_list

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>

pub fn allowed_peers(&self) -> &HashSet<PeerId>

Peers that are currently allowed.

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

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>

pub fn blocked_peers(&self) -> &HashSet<PeerId>

Peers that are currently blocked.

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

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> Debug for Behaviour<S>
where S: Debug,

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl<S> Default for Behaviour<S>
where S: Default,

§

fn default() -> Behaviour<S>

Returns the “default value” for a type. Read more
§

impl<S> NetworkBehaviour for Behaviour<S>
where S: Enforce,

§

type ConnectionHandler = ConnectionHandler

Handler for all the protocols the network behaviour supports.
§

type ToSwarm = Void

Event generated by the 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>

Callback that is invoked for every established inbound connection. Read more
§

fn handle_pending_outbound_connection( &mut self, _: ConnectionId, peer: Option<PeerId>, _: &[Multiaddr], _: Endpoint, ) -> Result<Vec<Multiaddr>, ConnectionDenied>

Callback that is invoked for every outbound connection attempt. Read more
§

fn handle_established_outbound_connection( &mut self, _: ConnectionId, peer: PeerId, _: &Multiaddr, _: Endpoint, _: PortUse, ) -> Result<<Behaviour<S> as NetworkBehaviour>::ConnectionHandler, ConnectionDenied>

Callback that is invoked for every established outbound connection. Read more
§

fn on_swarm_event(&mut self, _event: FromSwarm<'_>)

Informs the behaviour about an event from the Swarm.
§

fn on_connection_handler_event( &mut self, _id: PeerId, _: ConnectionId, event: <<Behaviour<S> 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 more
§

fn poll( &mut self, cx: &mut Context<'_>, ) -> Poll<ToSwarm<<Behaviour<S> as NetworkBehaviour>::ToSwarm, <<Behaviour<S> as NetworkBehaviour>::ConnectionHandler as ConnectionHandler>::FromBehaviour>>

Polls for things that swarm should do. Read more
§

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

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§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

§

fn implicit( self, class: Class, constructed: bool, tag: u32, ) -> TaggedParser<'a, Implicit, Self, E>

§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

§

fn implicit( self, class: Class, constructed: bool, tag: u32, ) -> TaggedParser<'a, Implicit, Self, E>

Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more