Enum libp2p_swarm::handler::ConnectionEvent
source · #[non_exhaustive]pub enum ConnectionEvent<'a, IP: InboundUpgradeSend, OP: OutboundUpgradeSend, IOI, OOI> {
FullyNegotiatedInbound(FullyNegotiatedInbound<IP, IOI>),
FullyNegotiatedOutbound(FullyNegotiatedOutbound<OP, OOI>),
AddressChange(AddressChange<'a>),
DialUpgradeError(DialUpgradeError<OOI, OP>),
ListenUpgradeError(ListenUpgradeError<IOI, IP>),
LocalProtocolsChange(ProtocolsChange<'a>),
RemoteProtocolsChange(ProtocolsChange<'a>),
}
Expand description
Enumeration with the list of the possible stream events
to pass to on_connection_event
.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
FullyNegotiatedInbound(FullyNegotiatedInbound<IP, IOI>)
Informs the handler about the output of a successful upgrade on a new inbound substream.
FullyNegotiatedOutbound(FullyNegotiatedOutbound<OP, OOI>)
Informs the handler about the output of a successful upgrade on a new outbound stream.
AddressChange(AddressChange<'a>)
Informs the handler about a change in the address of the remote.
DialUpgradeError(DialUpgradeError<OOI, OP>)
Informs the handler that upgrading an outbound substream to the given protocol has failed.
ListenUpgradeError(ListenUpgradeError<IOI, IP>)
Informs the handler that upgrading an inbound substream to the given protocol has failed.
LocalProtocolsChange(ProtocolsChange<'a>)
The local ConnectionHandler
added or removed support for one or more protocols.
RemoteProtocolsChange(ProtocolsChange<'a>)
The remote ConnectionHandler
now supports a different set of protocols.
Implementations§
source§impl<'a, IP: InboundUpgradeSend, OP: OutboundUpgradeSend, IOI, OOI> ConnectionEvent<'a, IP, OP, IOI, OOI>
impl<'a, IP: InboundUpgradeSend, OP: OutboundUpgradeSend, IOI, OOI> ConnectionEvent<'a, IP, OP, IOI, OOI>
sourcepub fn is_outbound(&self) -> bool
pub fn is_outbound(&self) -> bool
Whether the event concerns an outbound stream.
sourcepub fn is_inbound(&self) -> bool
pub fn is_inbound(&self) -> bool
Whether the event concerns an inbound stream.
Trait Implementations§
source§impl<'a, IP, OP, IOI, OOI> Debug for ConnectionEvent<'a, IP, OP, IOI, OOI>
impl<'a, IP, OP, IOI, OOI> Debug for ConnectionEvent<'a, IP, OP, IOI, OOI>
Auto Trait Implementations§
impl<'a, IP, OP, IOI, OOI> !RefUnwindSafe for ConnectionEvent<'a, IP, OP, IOI, OOI>
impl<'a, IP, OP, IOI, OOI> Send for ConnectionEvent<'a, IP, OP, IOI, OOI>
impl<'a, IP, OP, IOI, OOI> Sync for ConnectionEvent<'a, IP, OP, IOI, OOI>where
IOI: Sync,
OOI: Sync,
<IP as InboundUpgradeSend>::Error: Sync,
<OP as OutboundUpgradeSend>::Error: Sync,
<IP as InboundUpgradeSend>::Output: Sync,
<OP as OutboundUpgradeSend>::Output: Sync,
impl<'a, IP, OP, IOI, OOI> Unpin for ConnectionEvent<'a, IP, OP, IOI, OOI>where
IOI: Unpin,
OOI: Unpin,
<IP as InboundUpgradeSend>::Error: Unpin,
<OP as OutboundUpgradeSend>::Error: Unpin,
<IP as InboundUpgradeSend>::Output: Unpin,
<OP as OutboundUpgradeSend>::Output: Unpin,
impl<'a, IP, OP, IOI, OOI> !UnwindSafe for ConnectionEvent<'a, IP, OP, IOI, OOI>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more