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
sourceimpl<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr> ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr>
impl<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr> ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr>
Event produced by a handler.
sourcepub fn map_outbound_open_info<F, I>(
self,
map: F
) -> ConnectionHandlerEvent<TConnectionUpgrade, I, TCustom, TErr> where
F: FnOnce(TOutboundOpenInfo) -> I,
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.
sourcepub fn map_protocol<F, I>(
self,
map: F
) -> ConnectionHandlerEvent<I, TOutboundOpenInfo, TCustom, TErr> where
F: FnOnce(TConnectionUpgrade) -> I,
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.
sourcepub fn map_custom<F, I>(
self,
map: F
) -> ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, I, TErr> where
F: FnOnce(TCustom) -> I,
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.
sourcepub fn map_close<F, I>(
self,
map: F
) -> ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, I> where
F: FnOnce(TErr) -> I,
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
sourceimpl<TConnectionUpgrade: Clone, TOutboundOpenInfo: Clone, TCustom: Clone, TErr: Clone> Clone for ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr>
impl<TConnectionUpgrade: Clone, TOutboundOpenInfo: Clone, TCustom: Clone, TErr: Clone> Clone for ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr>
sourcefn clone(
&self
) -> ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr>
fn clone(
&self
) -> ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read more
sourceimpl<TConnectionUpgrade: Debug, TOutboundOpenInfo: Debug, TCustom: Debug, TErr: Debug> Debug for ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr>
impl<TConnectionUpgrade: Debug, TOutboundOpenInfo: Debug, TCustom: Debug, TErr: Debug> Debug for ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr>
sourceimpl<TConnectionUpgrade: PartialEq, TOutboundOpenInfo: PartialEq, TCustom: PartialEq, TErr: PartialEq> PartialEq<ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr>> for ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr>
impl<TConnectionUpgrade: PartialEq, TOutboundOpenInfo: PartialEq, TCustom: PartialEq, TErr: PartialEq> PartialEq<ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr>> for ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr>
sourcefn eq(
&self,
other: &ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr>
) -> bool
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 ==. Read more
sourcefn ne(
&self,
other: &ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr>
) -> bool
fn ne(
&self,
other: &ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr>
) -> bool
This method tests for !=.
impl<TConnectionUpgrade: Copy, TOutboundOpenInfo: Copy, TCustom: Copy, TErr: Copy> Copy for ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr>
impl<TConnectionUpgrade: Eq, TOutboundOpenInfo: Eq, TCustom: Eq, TErr: Eq> Eq for ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr>
impl<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr> StructuralEq for ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr>
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
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into)Uses borrowed data to replace owned data, usually by cloning. Read more