Enum libp2p::swarm::protocols_handler::ProtocolsHandlerEvent [−][src]
pub enum ProtocolsHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr> { OutboundSubstreamRequest { protocol: SubstreamProtocol<TConnectionUpgrade, TOutboundOpenInfo>, }, Close(TErr), Custom(TCustom), }
Event produced by a handler.
Variants
Request a new outbound substream to be opened with the remote.
Fields of OutboundSubstreamRequest
protocol: SubstreamProtocol<TConnectionUpgrade, TOutboundOpenInfo>
The protocol(s) to apply on the substream.
Close the connection for the given reason.
Other event.
Implementations
impl<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr> ProtocolsHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr>
[src][−]
Event produced by a handler.
pub fn map_outbound_open_info<F, I>(
self,
map: F
) -> ProtocolsHandlerEvent<TConnectionUpgrade, I, TCustom, TErr> where
F: FnOnce(TOutboundOpenInfo) -> I,
[src][−]
self,
map: F
) -> ProtocolsHandlerEvent<TConnectionUpgrade, I, TCustom, TErr> where
F: FnOnce(TOutboundOpenInfo) -> I,
If this is an OutboundSubstreamRequest
, maps the info
member from a
TOutboundOpenInfo
to something else.
pub fn map_protocol<F, I>(
self,
map: F
) -> ProtocolsHandlerEvent<I, TOutboundOpenInfo, TCustom, TErr> where
F: FnOnce(TConnectionUpgrade) -> I,
[src][−]
self,
map: F
) -> ProtocolsHandlerEvent<I, TOutboundOpenInfo, TCustom, TErr> where
F: FnOnce(TConnectionUpgrade) -> I,
If this is an OutboundSubstreamRequest
, maps the protocol (TConnectionUpgrade
)
to something else.
pub fn map_custom<F, I>(
self,
map: F
) -> ProtocolsHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, I, TErr> where
F: FnOnce(TCustom) -> I,
[src][−]
self,
map: F
) -> ProtocolsHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, I, TErr> where
F: FnOnce(TCustom) -> I,
If this is a Custom
event, maps the content to something else.
pub fn map_close<F, I>(
self,
map: F
) -> ProtocolsHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, I> where
F: FnOnce(TErr) -> I,
[src][−]
self,
map: F
) -> ProtocolsHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, I> where
F: FnOnce(TErr) -> I,
If this is a Close
event, maps the content to something else.
Trait Implementations
impl<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr> Clone for ProtocolsHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr> where
TErr: Clone,
TConnectionUpgrade: Clone,
TOutboundOpenInfo: Clone,
TCustom: Clone,
[src][+]
TErr: Clone,
TConnectionUpgrade: Clone,
TOutboundOpenInfo: Clone,
TCustom: Clone,
impl<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr> Copy for ProtocolsHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr> where
TErr: Copy,
TConnectionUpgrade: Copy,
TOutboundOpenInfo: Copy,
TCustom: Copy,
[src]
TErr: Copy,
TConnectionUpgrade: Copy,
TOutboundOpenInfo: Copy,
TCustom: Copy,
impl<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr> Debug for ProtocolsHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr> where
TErr: Debug,
TConnectionUpgrade: Debug,
TOutboundOpenInfo: Debug,
TCustom: Debug,
[src][+]
TErr: Debug,
TConnectionUpgrade: Debug,
TOutboundOpenInfo: Debug,
TCustom: Debug,
impl<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr> Eq for ProtocolsHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr> where
TErr: Eq,
TConnectionUpgrade: Eq,
TOutboundOpenInfo: Eq,
TCustom: Eq,
[src]
TErr: Eq,
TConnectionUpgrade: Eq,
TOutboundOpenInfo: Eq,
TCustom: Eq,
impl<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr> PartialEq<ProtocolsHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr>> for ProtocolsHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr> where
TErr: PartialEq<TErr>,
TConnectionUpgrade: PartialEq<TConnectionUpgrade>,
TOutboundOpenInfo: PartialEq<TOutboundOpenInfo>,
TCustom: PartialEq<TCustom>,
[src][+]
TErr: PartialEq<TErr>,
TConnectionUpgrade: PartialEq<TConnectionUpgrade>,
TOutboundOpenInfo: PartialEq<TOutboundOpenInfo>,
TCustom: PartialEq<TCustom>,
impl<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr> StructuralEq for ProtocolsHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr>
[src]
impl<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr> StructuralPartialEq for ProtocolsHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr>
[src]
Auto Trait Implementations
impl<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr> RefUnwindSafe for ProtocolsHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr> where
TConnectionUpgrade: RefUnwindSafe,
TCustom: RefUnwindSafe,
TErr: RefUnwindSafe,
TOutboundOpenInfo: RefUnwindSafe,
TConnectionUpgrade: RefUnwindSafe,
TCustom: RefUnwindSafe,
TErr: RefUnwindSafe,
TOutboundOpenInfo: RefUnwindSafe,
impl<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr> Send for ProtocolsHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr> where
TConnectionUpgrade: Send,
TCustom: Send,
TErr: Send,
TOutboundOpenInfo: Send,
TConnectionUpgrade: Send,
TCustom: Send,
TErr: Send,
TOutboundOpenInfo: Send,
impl<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr> Sync for ProtocolsHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr> where
TConnectionUpgrade: Sync,
TCustom: Sync,
TErr: Sync,
TOutboundOpenInfo: Sync,
TConnectionUpgrade: Sync,
TCustom: Sync,
TErr: Sync,
TOutboundOpenInfo: Sync,
impl<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr> Unpin for ProtocolsHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr> where
TConnectionUpgrade: Unpin,
TCustom: Unpin,
TErr: Unpin,
TOutboundOpenInfo: Unpin,
TConnectionUpgrade: Unpin,
TCustom: Unpin,
TErr: Unpin,
TOutboundOpenInfo: Unpin,
impl<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr> UnwindSafe for ProtocolsHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr> where
TConnectionUpgrade: UnwindSafe,
TCustom: UnwindSafe,
TErr: UnwindSafe,
TOutboundOpenInfo: UnwindSafe,
TConnectionUpgrade: UnwindSafe,
TCustom: UnwindSafe,
TErr: UnwindSafe,
TOutboundOpenInfo: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src][+]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> From<T> for T
[src][+]
impl<T, U> Into<U> for T where
U: From<T>,
[src][+]
U: From<T>,
impl<T> Same<T> for T
[src]
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src][+]
T: Clone,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src][+]
U: Into<T>,
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src][+]
U: TryFrom<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
[src][+]
V: MultiLane<T>,