pub enum ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr> {
    OutboundSubstreamRequest {
        protocol: SubstreamProtocol<TConnectionUpgrade, TOutboundOpenInfo>,
    },
    Close(TErr),
    Custom(TCustom),
}
Expand description

Event produced by a handler.

Variants§

§

OutboundSubstreamRequest

Fields

§protocol: SubstreamProtocol<TConnectionUpgrade, TOutboundOpenInfo>

The protocol(s) to apply on the substream.

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

§

Close(TErr)

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.

§

Custom(TCustom)

Other event.

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: Clone, TOutboundOpenInfo: Clone, TCustom: Clone, TErr: Clone> Clone for ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr>

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: Debug, TOutboundOpenInfo: Debug, TCustom: Debug, TErr: Debug> Debug for ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr>

source§

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

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

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

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: Copy, TOutboundOpenInfo: Copy, TCustom: Copy, TErr: Copy> Copy for ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr>

source§

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

source§

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

source§

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

Auto Trait Implementations§

§

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

§

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

§

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

§

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

§

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

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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.

source§

impl<T, U> Into<U> for Twhere 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> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for Twhere 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 Twhere 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 Twhere 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 Twhere V: MultiLane<T>,

source§

fn vzip(self) -> V