Trait s2n_quic_core::event::api::Subscriber
source · pub trait Subscriber: 'static + Send {
type ConnectionContext: 'static + Send;
Show 63 methods
// Required method
fn create_connection_context(
&mut self,
meta: &ConnectionMeta,
info: &ConnectionInfo
) -> Self::ConnectionContext;
// Provided methods
fn supervisor_timeout(
&mut self,
conn_context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
context: &Context<'_>
) -> Option<Duration> { ... }
fn on_supervisor_timeout(
&mut self,
conn_context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
context: &Context<'_>
) -> Outcome { ... }
fn on_application_protocol_information(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &ApplicationProtocolInformation<'_>
) { ... }
fn on_server_name_information(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &ServerNameInformation<'_>
) { ... }
fn on_packet_skipped(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &PacketSkipped
) { ... }
fn on_packet_sent(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &PacketSent
) { ... }
fn on_packet_received(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &PacketReceived
) { ... }
fn on_active_path_updated(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &ActivePathUpdated<'_>
) { ... }
fn on_path_created(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &PathCreated<'_>
) { ... }
fn on_frame_sent(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &FrameSent
) { ... }
fn on_frame_received(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &FrameReceived<'_>
) { ... }
fn on_packet_lost(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &PacketLost<'_>
) { ... }
fn on_recovery_metrics(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &RecoveryMetrics<'_>
) { ... }
fn on_congestion(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &Congestion<'_>
) { ... }
fn on_ack_processed(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &AckProcessed<'_>
) { ... }
fn on_rx_ack_range_dropped(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &RxAckRangeDropped<'_>
) { ... }
fn on_ack_range_received(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &AckRangeReceived<'_>
) { ... }
fn on_ack_range_sent(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &AckRangeSent
) { ... }
fn on_packet_dropped(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &PacketDropped<'_>
) { ... }
fn on_key_update(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &KeyUpdate
) { ... }
fn on_key_space_discarded(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &KeySpaceDiscarded
) { ... }
fn on_connection_started(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &ConnectionStarted<'_>
) { ... }
fn on_connection_closed(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &ConnectionClosed
) { ... }
fn on_duplicate_packet(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &DuplicatePacket<'_>
) { ... }
fn on_transport_parameters_received(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &TransportParametersReceived<'_>
) { ... }
fn on_datagram_sent(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &DatagramSent
) { ... }
fn on_datagram_received(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &DatagramReceived
) { ... }
fn on_datagram_dropped(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &DatagramDropped
) { ... }
fn on_connection_id_updated(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &ConnectionIdUpdated<'_>
) { ... }
fn on_ecn_state_changed(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &EcnStateChanged<'_>
) { ... }
fn on_connection_migration_denied(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &ConnectionMigrationDenied
) { ... }
fn on_handshake_status_updated(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &HandshakeStatusUpdated
) { ... }
fn on_tls_exporter_ready(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &TlsExporterReady<'_>
) { ... }
fn on_path_challenge_updated(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &PathChallengeUpdated<'_>
) { ... }
fn on_tls_client_hello(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &TlsClientHello<'_>
) { ... }
fn on_tls_server_hello(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &TlsServerHello<'_>
) { ... }
fn on_rx_stream_progress(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &RxStreamProgress
) { ... }
fn on_tx_stream_progress(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &TxStreamProgress
) { ... }
fn on_keep_alive_timer_expired(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &KeepAliveTimerExpired
) { ... }
fn on_mtu_updated(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &MtuUpdated
) { ... }
fn on_slow_start_exited(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &SlowStartExited
) { ... }
fn on_delivery_rate_sampled(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &DeliveryRateSampled
) { ... }
fn on_pacing_rate_updated(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &PacingRateUpdated
) { ... }
fn on_bbr_state_changed(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &BbrStateChanged
) { ... }
fn on_version_information(
&mut self,
meta: &EndpointMeta,
event: &VersionInformation<'_>
) { ... }
fn on_endpoint_packet_sent(
&mut self,
meta: &EndpointMeta,
event: &EndpointPacketSent
) { ... }
fn on_endpoint_packet_received(
&mut self,
meta: &EndpointMeta,
event: &EndpointPacketReceived
) { ... }
fn on_endpoint_datagram_sent(
&mut self,
meta: &EndpointMeta,
event: &EndpointDatagramSent
) { ... }
fn on_endpoint_datagram_received(
&mut self,
meta: &EndpointMeta,
event: &EndpointDatagramReceived
) { ... }
fn on_endpoint_datagram_dropped(
&mut self,
meta: &EndpointMeta,
event: &EndpointDatagramDropped
) { ... }
fn on_endpoint_connection_attempt_failed(
&mut self,
meta: &EndpointMeta,
event: &EndpointConnectionAttemptFailed
) { ... }
fn on_platform_tx(&mut self, meta: &EndpointMeta, event: &PlatformTx) { ... }
fn on_platform_tx_error(
&mut self,
meta: &EndpointMeta,
event: &PlatformTxError
) { ... }
fn on_platform_rx(&mut self, meta: &EndpointMeta, event: &PlatformRx) { ... }
fn on_platform_rx_error(
&mut self,
meta: &EndpointMeta,
event: &PlatformRxError
) { ... }
fn on_platform_feature_configured(
&mut self,
meta: &EndpointMeta,
event: &PlatformFeatureConfigured
) { ... }
fn on_platform_event_loop_wakeup(
&mut self,
meta: &EndpointMeta,
event: &PlatformEventLoopWakeup
) { ... }
fn on_platform_event_loop_sleep(
&mut self,
meta: &EndpointMeta,
event: &PlatformEventLoopSleep
) { ... }
fn on_event<M: Meta, E: Event>(&mut self, meta: &M, event: &E) { ... }
fn on_connection_event<E: Event>(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &E
) { ... }
fn query(
context: &Self::ConnectionContext,
query: &mut dyn Query
) -> ControlFlow { ... }
fn query_mut(
context: &mut Self::ConnectionContext,
query: &mut dyn QueryMut
) -> ControlFlow { ... }
}Expand description
Allows for events to be subscribed to
Required Associated Types§
sourcetype ConnectionContext: 'static + Send
type ConnectionContext: 'static + Send
An application provided type associated with each connection.
The context provides a mechanism for applications to provide a custom type
and update it on each event, e.g. computing statistics. Each event
invocation (e.g. Subscriber::on_packet_sent) also provides mutable
access to the context &mut ConnectionContext and allows for updating the
context.
use s2n_quic::provider::event::{
ConnectionInfo, ConnectionMeta, Subscriber, events::PacketSent
};
pub struct MyEventSubscriber;
pub struct MyEventContext {
packet_sent: u64,
}
impl Subscriber for MyEventSubscriber {
type ConnectionContext = MyEventContext;
fn create_connection_context(
&mut self, _meta: &ConnectionMeta,
_info: &ConnectionInfo,
) -> Self::ConnectionContext {
MyEventContext { packet_sent: 0 }
}
fn on_packet_sent(
&mut self,
context: &mut Self::ConnectionContext,
_meta: &ConnectionMeta,
_event: &PacketSent,
) {
context.packet_sent += 1;
}
}Required Methods§
sourcefn create_connection_context(
&mut self,
meta: &ConnectionMeta,
info: &ConnectionInfo
) -> Self::ConnectionContext
fn create_connection_context( &mut self, meta: &ConnectionMeta, info: &ConnectionInfo ) -> Self::ConnectionContext
Creates a context to be passed to each connection-related event
Provided Methods§
sourcefn supervisor_timeout(
&mut self,
conn_context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
context: &Context<'_>
) -> Option<Duration>
fn supervisor_timeout( &mut self, conn_context: &mut Self::ConnectionContext, meta: &ConnectionMeta, context: &Context<'_> ) -> Option<Duration>
The period at which on_supervisor_timeout is called
If multiple event::Subscribers are composed together, the minimum supervisor_timeout
across all event::Subscribers will be used.
If the supervisor_timeout() is None across all event::Subscribers, connection supervision
will cease for the remaining lifetime of the connection and on_supervisor_timeout will no longer
be called.
It is recommended to avoid setting this value less than ~100ms, as short durations may lead to higher CPU utilization.
sourcefn on_supervisor_timeout(
&mut self,
conn_context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
context: &Context<'_>
) -> Outcome
fn on_supervisor_timeout( &mut self, conn_context: &mut Self::ConnectionContext, meta: &ConnectionMeta, context: &Context<'_> ) -> Outcome
Called for each supervisor_timeout to determine any action to take on the connection based on the supervisor::Outcome
If multiple event::Subscribers are composed together, the minimum supervisor_timeout
across all event::Subscribers will be used, and thus on_supervisor_timeout may be called
earlier than the supervisor_timeout for a given event::Subscriber implementation.
sourcefn on_application_protocol_information(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &ApplicationProtocolInformation<'_>
)
fn on_application_protocol_information( &mut self, context: &mut Self::ConnectionContext, meta: &ConnectionMeta, event: &ApplicationProtocolInformation<'_> )
Called when the ApplicationProtocolInformation event is triggered
sourcefn on_server_name_information(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &ServerNameInformation<'_>
)
fn on_server_name_information( &mut self, context: &mut Self::ConnectionContext, meta: &ConnectionMeta, event: &ServerNameInformation<'_> )
Called when the ServerNameInformation event is triggered
sourcefn on_packet_skipped(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &PacketSkipped
)
fn on_packet_skipped( &mut self, context: &mut Self::ConnectionContext, meta: &ConnectionMeta, event: &PacketSkipped )
Called when the PacketSkipped event is triggered
sourcefn on_packet_sent(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &PacketSent
)
fn on_packet_sent( &mut self, context: &mut Self::ConnectionContext, meta: &ConnectionMeta, event: &PacketSent )
Called when the PacketSent event is triggered
sourcefn on_packet_received(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &PacketReceived
)
fn on_packet_received( &mut self, context: &mut Self::ConnectionContext, meta: &ConnectionMeta, event: &PacketReceived )
Called when the PacketReceived event is triggered
sourcefn on_active_path_updated(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &ActivePathUpdated<'_>
)
fn on_active_path_updated( &mut self, context: &mut Self::ConnectionContext, meta: &ConnectionMeta, event: &ActivePathUpdated<'_> )
Called when the ActivePathUpdated event is triggered
sourcefn on_path_created(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &PathCreated<'_>
)
fn on_path_created( &mut self, context: &mut Self::ConnectionContext, meta: &ConnectionMeta, event: &PathCreated<'_> )
Called when the PathCreated event is triggered
sourcefn on_frame_sent(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &FrameSent
)
fn on_frame_sent( &mut self, context: &mut Self::ConnectionContext, meta: &ConnectionMeta, event: &FrameSent )
Called when the FrameSent event is triggered
sourcefn on_frame_received(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &FrameReceived<'_>
)
fn on_frame_received( &mut self, context: &mut Self::ConnectionContext, meta: &ConnectionMeta, event: &FrameReceived<'_> )
Called when the FrameReceived event is triggered
sourcefn on_packet_lost(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &PacketLost<'_>
)
fn on_packet_lost( &mut self, context: &mut Self::ConnectionContext, meta: &ConnectionMeta, event: &PacketLost<'_> )
Called when the PacketLost event is triggered
sourcefn on_recovery_metrics(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &RecoveryMetrics<'_>
)
fn on_recovery_metrics( &mut self, context: &mut Self::ConnectionContext, meta: &ConnectionMeta, event: &RecoveryMetrics<'_> )
Called when the RecoveryMetrics event is triggered
sourcefn on_congestion(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &Congestion<'_>
)
fn on_congestion( &mut self, context: &mut Self::ConnectionContext, meta: &ConnectionMeta, event: &Congestion<'_> )
Called when the Congestion event is triggered
sourcefn on_ack_processed(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &AckProcessed<'_>
)
fn on_ack_processed( &mut self, context: &mut Self::ConnectionContext, meta: &ConnectionMeta, event: &AckProcessed<'_> )
Called when the AckProcessed event is triggered
sourcefn on_rx_ack_range_dropped(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &RxAckRangeDropped<'_>
)
fn on_rx_ack_range_dropped( &mut self, context: &mut Self::ConnectionContext, meta: &ConnectionMeta, event: &RxAckRangeDropped<'_> )
Called when the RxAckRangeDropped event is triggered
sourcefn on_ack_range_received(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &AckRangeReceived<'_>
)
fn on_ack_range_received( &mut self, context: &mut Self::ConnectionContext, meta: &ConnectionMeta, event: &AckRangeReceived<'_> )
Called when the AckRangeReceived event is triggered
sourcefn on_ack_range_sent(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &AckRangeSent
)
fn on_ack_range_sent( &mut self, context: &mut Self::ConnectionContext, meta: &ConnectionMeta, event: &AckRangeSent )
Called when the AckRangeSent event is triggered
sourcefn on_packet_dropped(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &PacketDropped<'_>
)
fn on_packet_dropped( &mut self, context: &mut Self::ConnectionContext, meta: &ConnectionMeta, event: &PacketDropped<'_> )
Called when the PacketDropped event is triggered
sourcefn on_key_update(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &KeyUpdate
)
fn on_key_update( &mut self, context: &mut Self::ConnectionContext, meta: &ConnectionMeta, event: &KeyUpdate )
Called when the KeyUpdate event is triggered
sourcefn on_key_space_discarded(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &KeySpaceDiscarded
)
fn on_key_space_discarded( &mut self, context: &mut Self::ConnectionContext, meta: &ConnectionMeta, event: &KeySpaceDiscarded )
Called when the KeySpaceDiscarded event is triggered
sourcefn on_connection_started(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &ConnectionStarted<'_>
)
fn on_connection_started( &mut self, context: &mut Self::ConnectionContext, meta: &ConnectionMeta, event: &ConnectionStarted<'_> )
Called when the ConnectionStarted event is triggered
sourcefn on_connection_closed(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &ConnectionClosed
)
fn on_connection_closed( &mut self, context: &mut Self::ConnectionContext, meta: &ConnectionMeta, event: &ConnectionClosed )
Called when the ConnectionClosed event is triggered
sourcefn on_duplicate_packet(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &DuplicatePacket<'_>
)
fn on_duplicate_packet( &mut self, context: &mut Self::ConnectionContext, meta: &ConnectionMeta, event: &DuplicatePacket<'_> )
Called when the DuplicatePacket event is triggered
sourcefn on_transport_parameters_received(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &TransportParametersReceived<'_>
)
fn on_transport_parameters_received( &mut self, context: &mut Self::ConnectionContext, meta: &ConnectionMeta, event: &TransportParametersReceived<'_> )
Called when the TransportParametersReceived event is triggered
sourcefn on_datagram_sent(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &DatagramSent
)
fn on_datagram_sent( &mut self, context: &mut Self::ConnectionContext, meta: &ConnectionMeta, event: &DatagramSent )
Called when the DatagramSent event is triggered
sourcefn on_datagram_received(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &DatagramReceived
)
fn on_datagram_received( &mut self, context: &mut Self::ConnectionContext, meta: &ConnectionMeta, event: &DatagramReceived )
Called when the DatagramReceived event is triggered
sourcefn on_datagram_dropped(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &DatagramDropped
)
fn on_datagram_dropped( &mut self, context: &mut Self::ConnectionContext, meta: &ConnectionMeta, event: &DatagramDropped )
Called when the DatagramDropped event is triggered
sourcefn on_connection_id_updated(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &ConnectionIdUpdated<'_>
)
fn on_connection_id_updated( &mut self, context: &mut Self::ConnectionContext, meta: &ConnectionMeta, event: &ConnectionIdUpdated<'_> )
Called when the ConnectionIdUpdated event is triggered
sourcefn on_ecn_state_changed(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &EcnStateChanged<'_>
)
fn on_ecn_state_changed( &mut self, context: &mut Self::ConnectionContext, meta: &ConnectionMeta, event: &EcnStateChanged<'_> )
Called when the EcnStateChanged event is triggered
sourcefn on_connection_migration_denied(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &ConnectionMigrationDenied
)
fn on_connection_migration_denied( &mut self, context: &mut Self::ConnectionContext, meta: &ConnectionMeta, event: &ConnectionMigrationDenied )
Called when the ConnectionMigrationDenied event is triggered
sourcefn on_handshake_status_updated(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &HandshakeStatusUpdated
)
fn on_handshake_status_updated( &mut self, context: &mut Self::ConnectionContext, meta: &ConnectionMeta, event: &HandshakeStatusUpdated )
Called when the HandshakeStatusUpdated event is triggered
sourcefn on_tls_exporter_ready(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &TlsExporterReady<'_>
)
fn on_tls_exporter_ready( &mut self, context: &mut Self::ConnectionContext, meta: &ConnectionMeta, event: &TlsExporterReady<'_> )
Called when the TlsExporterReady event is triggered
sourcefn on_path_challenge_updated(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &PathChallengeUpdated<'_>
)
fn on_path_challenge_updated( &mut self, context: &mut Self::ConnectionContext, meta: &ConnectionMeta, event: &PathChallengeUpdated<'_> )
Called when the PathChallengeUpdated event is triggered
sourcefn on_tls_client_hello(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &TlsClientHello<'_>
)
fn on_tls_client_hello( &mut self, context: &mut Self::ConnectionContext, meta: &ConnectionMeta, event: &TlsClientHello<'_> )
Called when the TlsClientHello event is triggered
sourcefn on_tls_server_hello(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &TlsServerHello<'_>
)
fn on_tls_server_hello( &mut self, context: &mut Self::ConnectionContext, meta: &ConnectionMeta, event: &TlsServerHello<'_> )
Called when the TlsServerHello event is triggered
sourcefn on_rx_stream_progress(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &RxStreamProgress
)
fn on_rx_stream_progress( &mut self, context: &mut Self::ConnectionContext, meta: &ConnectionMeta, event: &RxStreamProgress )
Called when the RxStreamProgress event is triggered
sourcefn on_tx_stream_progress(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &TxStreamProgress
)
fn on_tx_stream_progress( &mut self, context: &mut Self::ConnectionContext, meta: &ConnectionMeta, event: &TxStreamProgress )
Called when the TxStreamProgress event is triggered
sourcefn on_keep_alive_timer_expired(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &KeepAliveTimerExpired
)
fn on_keep_alive_timer_expired( &mut self, context: &mut Self::ConnectionContext, meta: &ConnectionMeta, event: &KeepAliveTimerExpired )
Called when the KeepAliveTimerExpired event is triggered
sourcefn on_mtu_updated(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &MtuUpdated
)
fn on_mtu_updated( &mut self, context: &mut Self::ConnectionContext, meta: &ConnectionMeta, event: &MtuUpdated )
Called when the MtuUpdated event is triggered
sourcefn on_slow_start_exited(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &SlowStartExited
)
fn on_slow_start_exited( &mut self, context: &mut Self::ConnectionContext, meta: &ConnectionMeta, event: &SlowStartExited )
Called when the SlowStartExited event is triggered
sourcefn on_delivery_rate_sampled(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &DeliveryRateSampled
)
fn on_delivery_rate_sampled( &mut self, context: &mut Self::ConnectionContext, meta: &ConnectionMeta, event: &DeliveryRateSampled )
Called when the DeliveryRateSampled event is triggered
sourcefn on_pacing_rate_updated(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &PacingRateUpdated
)
fn on_pacing_rate_updated( &mut self, context: &mut Self::ConnectionContext, meta: &ConnectionMeta, event: &PacingRateUpdated )
Called when the PacingRateUpdated event is triggered
sourcefn on_bbr_state_changed(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &BbrStateChanged
)
fn on_bbr_state_changed( &mut self, context: &mut Self::ConnectionContext, meta: &ConnectionMeta, event: &BbrStateChanged )
Called when the BbrStateChanged event is triggered
sourcefn on_version_information(
&mut self,
meta: &EndpointMeta,
event: &VersionInformation<'_>
)
fn on_version_information( &mut self, meta: &EndpointMeta, event: &VersionInformation<'_> )
Called when the VersionInformation event is triggered
sourcefn on_endpoint_packet_sent(
&mut self,
meta: &EndpointMeta,
event: &EndpointPacketSent
)
fn on_endpoint_packet_sent( &mut self, meta: &EndpointMeta, event: &EndpointPacketSent )
Called when the EndpointPacketSent event is triggered
sourcefn on_endpoint_packet_received(
&mut self,
meta: &EndpointMeta,
event: &EndpointPacketReceived
)
fn on_endpoint_packet_received( &mut self, meta: &EndpointMeta, event: &EndpointPacketReceived )
Called when the EndpointPacketReceived event is triggered
sourcefn on_endpoint_datagram_sent(
&mut self,
meta: &EndpointMeta,
event: &EndpointDatagramSent
)
fn on_endpoint_datagram_sent( &mut self, meta: &EndpointMeta, event: &EndpointDatagramSent )
Called when the EndpointDatagramSent event is triggered
sourcefn on_endpoint_datagram_received(
&mut self,
meta: &EndpointMeta,
event: &EndpointDatagramReceived
)
fn on_endpoint_datagram_received( &mut self, meta: &EndpointMeta, event: &EndpointDatagramReceived )
Called when the EndpointDatagramReceived event is triggered
sourcefn on_endpoint_datagram_dropped(
&mut self,
meta: &EndpointMeta,
event: &EndpointDatagramDropped
)
fn on_endpoint_datagram_dropped( &mut self, meta: &EndpointMeta, event: &EndpointDatagramDropped )
Called when the EndpointDatagramDropped event is triggered
sourcefn on_endpoint_connection_attempt_failed(
&mut self,
meta: &EndpointMeta,
event: &EndpointConnectionAttemptFailed
)
fn on_endpoint_connection_attempt_failed( &mut self, meta: &EndpointMeta, event: &EndpointConnectionAttemptFailed )
Called when the EndpointConnectionAttemptFailed event is triggered
sourcefn on_platform_tx(&mut self, meta: &EndpointMeta, event: &PlatformTx)
fn on_platform_tx(&mut self, meta: &EndpointMeta, event: &PlatformTx)
Called when the PlatformTx event is triggered
sourcefn on_platform_tx_error(&mut self, meta: &EndpointMeta, event: &PlatformTxError)
fn on_platform_tx_error(&mut self, meta: &EndpointMeta, event: &PlatformTxError)
Called when the PlatformTxError event is triggered
sourcefn on_platform_rx(&mut self, meta: &EndpointMeta, event: &PlatformRx)
fn on_platform_rx(&mut self, meta: &EndpointMeta, event: &PlatformRx)
Called when the PlatformRx event is triggered
sourcefn on_platform_rx_error(&mut self, meta: &EndpointMeta, event: &PlatformRxError)
fn on_platform_rx_error(&mut self, meta: &EndpointMeta, event: &PlatformRxError)
Called when the PlatformRxError event is triggered
sourcefn on_platform_feature_configured(
&mut self,
meta: &EndpointMeta,
event: &PlatformFeatureConfigured
)
fn on_platform_feature_configured( &mut self, meta: &EndpointMeta, event: &PlatformFeatureConfigured )
Called when the PlatformFeatureConfigured event is triggered
sourcefn on_platform_event_loop_wakeup(
&mut self,
meta: &EndpointMeta,
event: &PlatformEventLoopWakeup
)
fn on_platform_event_loop_wakeup( &mut self, meta: &EndpointMeta, event: &PlatformEventLoopWakeup )
Called when the PlatformEventLoopWakeup event is triggered
sourcefn on_platform_event_loop_sleep(
&mut self,
meta: &EndpointMeta,
event: &PlatformEventLoopSleep
)
fn on_platform_event_loop_sleep( &mut self, meta: &EndpointMeta, event: &PlatformEventLoopSleep )
Called when the PlatformEventLoopSleep event is triggered
sourcefn on_event<M: Meta, E: Event>(&mut self, meta: &M, event: &E)
fn on_event<M: Meta, E: Event>(&mut self, meta: &M, event: &E)
Called for each event that relates to the endpoint and all connections
sourcefn on_connection_event<E: Event>(
&mut self,
context: &mut Self::ConnectionContext,
meta: &ConnectionMeta,
event: &E
)
fn on_connection_event<E: Event>( &mut self, context: &mut Self::ConnectionContext, meta: &ConnectionMeta, event: &E )
Called for each event that relates to a connection
sourcefn query(
context: &Self::ConnectionContext,
query: &mut dyn Query
) -> ControlFlow
fn query( context: &Self::ConnectionContext, query: &mut dyn Query ) -> ControlFlow
Used for querying the Subscriber::ConnectionContext on a Subscriber
sourcefn query_mut(
context: &mut Self::ConnectionContext,
query: &mut dyn QueryMut
) -> ControlFlow
fn query_mut( context: &mut Self::ConnectionContext, query: &mut dyn QueryMut ) -> ControlFlow
Used for querying and mutating the Subscriber::ConnectionContext on a Subscriber
Object Safety§
Implementations on Foreign Types§
source§impl<A, B> Subscriber for (A, B)where
A: Subscriber,
B: Subscriber,
impl<A, B> Subscriber for (A, B)where
A: Subscriber,
B: Subscriber,
Subscriber is implemented for a 2-element tuple to make it easy to compose multiple subscribers.