Enum libp2p::swarm::handler::ConnectionHandlerEvent

source ·
pub enum ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr> {
    OutboundSubstreamRequest {
        protocol: SubstreamProtocol<TConnectionUpgrade, TOutboundOpenInfo>,
    },
    Close(TErr),
    ReportRemoteProtocols(ProtocolSupport),
    NotifyBehaviour(TCustom),
}
Expand description

Event produced by a handler.

Variants§

§

OutboundSubstreamRequest

Request a new outbound substream to be opened with the remote.

Fields

§protocol: SubstreamProtocol<TConnectionUpgrade, TOutboundOpenInfo>

The protocol(s) to apply on the substream.

§

Close(TErr)

👎Deprecated: To close a connection, use ToSwarm::CloseConnection or Swarm::close_connection. See https://github.com/libp2p/rust-libp2p/issues/3591 for more details.

Close the connection for the given reason.

Note this will affect all ConnectionHandlers handling this connection, in other words it will close the connection for all ConnectionHandlers. To signal that one has no more need for the connection, while allowing other ConnectionHandlers to continue using the connection, return KeepAlive::No in ConnectionHandler::connection_keep_alive.

§

ReportRemoteProtocols(ProtocolSupport)

We learned something about the protocols supported by the remote.

§

NotifyBehaviour(TCustom)

Event that is sent to a NetworkBehaviour.

Implementations§

source§

impl<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr> ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr>

Event produced by a handler.

source

pub fn map_outbound_open_info<F, I>( self, map: F, ) -> ConnectionHandlerEvent<TConnectionUpgrade, I, TCustom, TErr>
where F: FnOnce(TOutboundOpenInfo) -> I,

If this is an OutboundSubstreamRequest, maps the info member from a TOutboundOpenInfo to something else.

source

pub fn map_protocol<F, I>( self, map: F, ) -> ConnectionHandlerEvent<I, TOutboundOpenInfo, TCustom, TErr>
where F: FnOnce(TConnectionUpgrade) -> I,

If this is an OutboundSubstreamRequest, maps the protocol (TConnectionUpgrade) to something else.

source

pub fn map_custom<F, I>( self, map: F, ) -> ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, I, TErr>
where F: FnOnce(TCustom) -> I,

If this is a Custom event, maps the content to something else.

source

pub fn map_close<F, I>( self, map: F, ) -> ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, I>
where F: FnOnce(TErr) -> I,

If this is a Close event, maps the content to something else.

Trait Implementations§

source§

impl<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr> Clone for ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr>
where TConnectionUpgrade: Clone, TOutboundOpenInfo: Clone, TCustom: Clone, TErr: Clone,

source§

fn clone( &self, ) -> ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr> Debug for ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr>
where TConnectionUpgrade: Debug, TOutboundOpenInfo: Debug, TCustom: Debug, TErr: Debug,

source§

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

Formats the value using the given formatter. Read more
source§

impl<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr> PartialEq for ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr>
where TConnectionUpgrade: PartialEq, TOutboundOpenInfo: PartialEq, TCustom: PartialEq, TErr: PartialEq,

source§

fn eq( &self, other: &ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr>, ) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr> Eq for ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr>
where TConnectionUpgrade: Eq, TOutboundOpenInfo: Eq, TCustom: Eq, TErr: Eq,

source§

impl<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr> StructuralPartialEq for ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr>

Auto Trait Implementations§

§

impl<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr> Freeze for ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr>
where TErr: Freeze, TCustom: Freeze, TConnectionUpgrade: Freeze, TOutboundOpenInfo: Freeze,

§

impl<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr> RefUnwindSafe for ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr>
where TErr: RefUnwindSafe, TCustom: RefUnwindSafe, TConnectionUpgrade: RefUnwindSafe, TOutboundOpenInfo: RefUnwindSafe,

§

impl<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr> Send for ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr>
where TErr: Send, TCustom: Send, TConnectionUpgrade: Send, TOutboundOpenInfo: Send,

§

impl<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr> Sync for ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr>
where TErr: Sync, TCustom: Sync, TConnectionUpgrade: Sync, TOutboundOpenInfo: Sync,

§

impl<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr> Unpin for ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr>
where TErr: Unpin, TCustom: Unpin, TConnectionUpgrade: Unpin, TOutboundOpenInfo: Unpin,

§

impl<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr> UnwindSafe for ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr>
where TErr: UnwindSafe, TCustom: UnwindSafe, TConnectionUpgrade: UnwindSafe, TOutboundOpenInfo: 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
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> CloneToUninit for T
where T: Clone,

source§

default unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

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

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

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
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

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

§

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>,

§

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.
source§

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

source§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

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
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

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