[][src]Struct qlog::event::Event

pub struct Event {
    pub category: EventCategory,
    pub ty: EventType,
    pub data: EventData,
}

A representation of qlog events that couple EventCategory, EventType and EventData.

Functions are provided to help construct valid events. Most events consist of several optional fields, so minimal versions of these functions are provided, which accept only mandatory qlog parameters. Minimal functions are identified by a _min suffix.

Fields

category: EventCategoryty: EventTypedata: EventData

Implementations

impl Event[src]

pub fn server_listening(
    ip_v4: Option<String>,
    ip_v6: Option<String>,
    port_v4: u64,
    port_v6: u64,
    quic_versions: Option<Vec<String>>,
    alpn_values: Option<Vec<String>>,
    stateless_reset_required: Option<bool>
) -> Self
[src]

Returns:

  • EventCategory=Connectivity
  • EventType=ConnectivityEventType::ServerListening
  • EventData=ServerListening.

pub fn server_listening_min(port_v4: u64, port_v6: u64) -> Self[src]

pub fn connection_started(
    ip_version: String,
    src_ip: String,
    dst_ip: String,
    protocol: Option<String>,
    src_port: u64,
    dst_port: u64,
    quic_version: Option<String>,
    src_cid: Option<String>,
    dst_cid: Option<String>
) -> Self
[src]

Returns:

  • EventCategory=Connectivity
  • EventType=ConnectivityEventType::ConnectionStarted
  • EventData=ConnectionStarted.

pub fn connection_started_min(
    ip_version: String,
    src_ip: String,
    dst_ip: String,
    src_port: u64,
    dst_port: u64
) -> Self
[src]

pub fn connection_id_updated(
    src_old: Option<String>,
    src_new: Option<String>,
    dst_old: Option<String>,
    dst_new: Option<String>
) -> Self
[src]

Returns:

  • EventCategory=Connectivity
  • EventType=ConnectivityEventType::ConnectionIdUpdated
  • EventData=ConnectionIdUpdated.

pub fn connection_id_updated_min() -> Self[src]

pub fn spinbit_updated(state: bool) -> Self[src]

Returns:

  • EventCategory=Connectivity
  • EventType=ConnectivityEventType::SpinBitUpdated
  • EventData=SpinBitUpdated.

pub fn connection_state_updated(
    old: Option<ConnectionState>,
    new: ConnectionState
) -> Self
[src]

Returns:

  • EventCategory=Connectivity
  • EventType=ConnectivityEventType::ConnectionState
  • EventData=ConnectionState.

pub fn connection_state_updated_min(new: ConnectionState) -> Self[src]

pub fn transport_parameters_set(
    owner: Option<TransportOwner>,
    resumption_allowed: Option<bool>,
    early_data_enabled: Option<bool>,
    alpn: Option<String>,
    version: Option<String>,
    tls_cipher: Option<String>,
    original_connection_id: Option<String>,
    stateless_reset_token: Option<String>,
    disable_active_migration: Option<bool>,
    idle_timeout: Option<u64>,
    max_packet_size: Option<u64>,
    ack_delay_exponent: Option<u64>,
    max_ack_delay: Option<u64>,
    active_connection_id_limit: Option<u64>,
    initial_max_data: Option<String>,
    initial_max_stream_data_bidi_local: Option<String>,
    initial_max_stream_data_bidi_remote: Option<String>,
    initial_max_stream_data_uni: Option<String>,
    initial_max_streams_bidi: Option<String>,
    initial_max_streams_uni: Option<String>,
    preferred_address: Option<PreferredAddress>
) -> Self
[src]

Returns:

  • EventCategory=Transport
  • EventType=TransportEventType::ParametersSet
  • EventData=ParametersSet.

pub fn transport_parameters_set_min() -> Self[src]

pub fn datagrams_received(count: Option<u64>, byte_length: Option<u64>) -> Self[src]

Returns:

  • EventCategory=Transport
  • EventType=TransportEventType::DatagramsReceived
  • EventData=DatagramsReceived.

pub fn datagrams_received_min() -> Self[src]

pub fn datagrams_sent(count: Option<u64>, byte_length: Option<u64>) -> Self[src]

Returns:

  • EventCategory=Transport
  • EventType=TransportEventType::DatagramsSent
  • EventData=DatagramsSent.

pub fn datagrams_sent_min() -> Self[src]

pub fn datagram_dropped(byte_length: Option<u64>) -> Self[src]

Returns:

  • EventCategory=Transport
  • EventType=TransportEventType::DatagramDropped
  • EventData=DatagramDropped.

pub fn datagram_dropped_min() -> Self[src]

pub fn packet_received(
    packet_type: PacketType,
    header: PacketHeader,
    frames: Option<Vec<QuicFrame>>,
    is_coalesced: Option<bool>,
    raw_encrypted: Option<String>,
    raw_decrypted: Option<String>
) -> Self
[src]

Returns:

  • EventCategory=Transport
  • EventType=TransportEventType::PacketReceived
  • EventData=PacketReceived.

pub fn packet_received_min(
    packet_type: PacketType,
    header: PacketHeader
) -> Self
[src]

pub fn packet_sent(
    packet_type: PacketType,
    header: PacketHeader,
    frames: Option<Vec<QuicFrame>>,
    is_coalesced: Option<bool>,
    raw_encrypted: Option<String>,
    raw_decrypted: Option<String>
) -> Self
[src]

Returns:

  • EventCategory=Transport
  • EventType=TransportEventType::PacketSent
  • EventData=PacketSent.

pub fn packet_sent_min(
    packet_type: PacketType,
    header: PacketHeader,
    frames: Option<Vec<QuicFrame>>
) -> Self
[src]

pub fn packet_dropped(
    packet_type: Option<PacketType>,
    packet_size: Option<u64>,
    raw: Option<String>
) -> Self
[src]

Returns:

  • EventCategory=Transport
  • EventType=TransportEventType::PacketDropped
  • EventData=PacketDropped.

pub fn packet_dropped_min() -> Self[src]

pub fn packet_buffered(packet_type: PacketType, packet_number: String) -> Self[src]

Returns:

  • EventCategory=Transport
  • EventType=TransportEventType::PacketBuffered
  • EventData=PacketBuffered.

pub fn stream_state_updated(
    stream_id: String,
    stream_type: Option<StreamType>,
    old: Option<StreamState>,
    new: StreamState,
    stream_side: Option<StreamSide>
) -> Self
[src]

Returns:

  • EventCategory=Transport
  • EventType=TransportEventType::StreamStateUpdated
  • EventData=StreamStateUpdated.

pub fn stream_state_updated_min(stream_id: String, new: StreamState) -> Self[src]

pub fn frames_processed(frames: Vec<QuicFrame>) -> Self[src]

Returns:

  • EventCategory=Transport
  • EventType=TransportEventType::FramesProcessed
  • EventData=FramesProcessed.

pub fn recovery_parameters_set(
    reordering_threshold: Option<u64>,
    time_threshold: Option<u64>,
    timer_granularity: Option<u64>,
    initial_rtt: Option<u64>,
    max_datagram_size: Option<u64>,
    initial_congestion_window: Option<u64>,
    minimum_congestion_window: Option<u64>,
    loss_reduction_factor: Option<u64>,
    persistent_congestion_threshold: Option<u64>
) -> Self
[src]

Returns:

  • EventCategory=Recovery
  • EventType=RecoveryEventType::ParametersSet
  • EventData=RecoveryParametersSet.

pub fn recovery_parameters_set_min() -> Self[src]

pub fn metrics_updated(
    min_rtt: Option<u64>,
    smoothed_rtt: Option<u64>,
    latest_rtt: Option<u64>,
    rtt_variance: Option<u64>,
    max_ack_delay: Option<u64>,
    pto_count: Option<u64>,
    congestion_window: Option<u64>,
    bytes_in_flight: Option<u64>,
    ssthresh: Option<u64>,
    packets_in_flight: Option<u64>,
    in_recovery: Option<bool>,
    pacing_rate: Option<u64>
) -> Self
[src]

Returns:

  • EventCategory=Recovery
  • EventType=RecoveryEventType::MetricsUpdated
  • EventData=MetricsUpdated.

pub fn metrics_updated_min() -> Self[src]

pub fn congestion_state_updated(old: Option<String>, new: String) -> Self[src]

Returns:

  • EventCategory=Recovery
  • EventType=RecoveryEventType::CongestionStateUpdated
  • EventData=CongestionStateUpdated.

pub fn congestion_state_updated_min(new: String) -> Self[src]

pub fn loss_timer_set(
    timer_type: Option<TimerType>,
    timeout: Option<String>
) -> Self
[src]

Returns:

  • EventCategory=Recovery
  • EventType=RecoveryEventType::LossTimerSet
  • EventData=LossTimerSet.

pub fn loss_timer_set_min() -> Self[src]

pub fn packet_lost(
    packet_type: PacketType,
    packet_number: String,
    header: Option<PacketHeader>,
    frames: Vec<QuicFrame>
) -> Self
[src]

Returns:

  • EventCategory=Recovery
  • EventType=RecoveryEventType::PacketLost
  • EventData=PacketLost.

pub fn packet_lost_min(
    packet_type: PacketType,
    packet_number: String,
    frames: Vec<QuicFrame>
) -> Self
[src]

pub fn marked_for_retransmit(frames: Vec<QuicFrame>) -> Self[src]

Returns:

  • EventCategory=Recovery
  • EventType=RecoveryEventType::MarkedForRetransmit
  • EventData=MarkedForRetransmit.

pub fn h3_parameters_set(
    owner: Option<H3Owner>,
    max_header_list_size: Option<u64>,
    max_table_capacity: Option<u64>,
    blocked_streams_count: Option<u64>,
    push_allowed: Option<bool>,
    waits_for_settings: Option<bool>
) -> Self
[src]

Returns:

  • EventCategory=Http
  • EventType=Http3EventType::ParametersSet
  • EventData=H3ParametersSet.

pub fn h3_parameters_set_min() -> Self[src]

pub fn h3_stream_type_set(
    stream_id: String,
    owner: Option<H3Owner>,
    old: Option<H3StreamType>,
    new: H3StreamType
) -> Self
[src]

Returns:

  • EventCategory=Http
  • EventType=Http3EventType::StreamTypeSet
  • EventData=H3StreamTypeSet.

pub fn h3_stream_type_set_min(stream_id: String, new: H3StreamType) -> Self[src]

pub fn h3_frame_created(
    stream_id: String,
    frame: Http3Frame,
    byte_length: Option<String>,
    raw: Option<String>
) -> Self
[src]

Returns:

  • EventCategory=Http
  • EventType=Http3EventType::FrameCreated
  • EventData=H3FrameCreated.

pub fn h3_frame_created_min(stream_id: String, frame: Http3Frame) -> Self[src]

pub fn h3_frame_parsed(
    stream_id: String,
    frame: Http3Frame,
    byte_length: Option<String>,
    raw: Option<String>
) -> Self
[src]

Returns:

  • EventCategory=Http
  • EventType=Http3EventType::FrameParsed
  • EventData=H3FrameParsed.

pub fn h3_frame_parsed_min(stream_id: String, frame: Http3Frame) -> Self[src]

pub fn h3_data_moved(
    stream_id: String,
    offset: Option<String>,
    length: Option<u64>,
    from: Option<H3DataRecipient>,
    to: Option<H3DataRecipient>,
    raw: Option<String>
) -> Self
[src]

Returns:

  • EventCategory=Http
  • EventType=Http3EventType::DataMoved
  • EventData=H3DataMoved.

pub fn h3_data_moved_min(stream_id: String) -> Self[src]

pub fn h3_push_resolved(
    push_id: Option<String>,
    stream_id: Option<String>,
    decision: Option<H3PushDecision>
) -> Self
[src]

Returns:

  • EventCategory=Http
  • EventType=Http3EventType::PushResolved
  • EventData=H3PushResolved.

pub fn h3_push_resolved_min() -> Self[src]

pub fn qpack_state_updated(
    owner: Option<QpackOwner>,
    dynamic_table_capacity: Option<u64>,
    dynamic_table_size: Option<u64>,
    known_received_count: Option<u64>,
    current_insert_count: Option<u64>
) -> Self
[src]

Returns:

  • EventCategory=Qpack
  • EventType=QpackEventType::StateUpdated
  • EventData=QpackStateUpdated.

pub fn qpack_state_updated_min() -> Self[src]

pub fn qpack_stream_state_updated(
    stream_id: String,
    state: QpackStreamState
) -> Self
[src]

Returns:

  • EventCategory=Qpack
  • EventType=QpackEventType::StreamStateUpdated
  • EventData=QpackStreamStateUpdated.

pub fn qpack_dynamic_table_updated(
    update_type: QpackUpdateType,
    entries: Vec<QpackDynamicTableEntry>
) -> Self
[src]

Returns:

  • EventCategory=Qpack
  • EventType=QpackEventType::DynamicTableUpdated
  • EventData=QpackDynamicTableUpdated.

pub fn qpack_headers_encoded(
    stream_id: Option<String>,
    headers: Option<HttpHeader>,
    block_prefix: QpackHeaderBlockPrefix,
    header_block: Vec<QpackHeaderBlockRepresentation>,
    raw: Option<String>
) -> Self
[src]

Returns:

  • EventCategory=Qpack
  • EventType=QpackEventType::HeadersEncoded
  • EventData=QpackHeadersEncoded.

pub fn qpack_headers_encoded_min(
    block_prefix: QpackHeaderBlockPrefix,
    header_block: Vec<QpackHeaderBlockRepresentation>
) -> Self
[src]

pub fn qpack_headers_decoded(
    stream_id: Option<String>,
    headers: Option<HttpHeader>,
    block_prefix: QpackHeaderBlockPrefix,
    header_block: Vec<QpackHeaderBlockRepresentation>,
    raw: Option<String>
) -> Self
[src]

Returns:

  • EventCategory=Qpack
  • EventType=QpackEventType::HeadersDecoded
  • EventData=QpackHeadersDecoded.

pub fn qpack_headers_decoded_min(
    block_prefix: QpackHeaderBlockPrefix,
    header_block: Vec<QpackHeaderBlockRepresentation>
) -> Self
[src]

pub fn qpack_instruction_sent(
    instruction: QPackInstruction,
    byte_length: Option<String>,
    raw: Option<String>
) -> Self
[src]

Returns:

  • EventCategory=Qpack
  • EventType=QpackEventType::InstructionSent
  • EventData=QpackInstructionSent.

pub fn qpack_instruction_sent_min(instruction: QPackInstruction) -> Self[src]

pub fn qpack_instruction_received(
    instruction: QPackInstruction,
    byte_length: Option<String>,
    raw: Option<String>
) -> Self
[src]

Returns:

  • EventCategory=Qpack
  • EventType=QpackEventType::InstructionReceived
  • EventData=QpackInstructionReceived.

pub fn qpack_instruction_received_min(instruction: QPackInstruction) -> Self[src]

pub fn is_valid(&self) -> bool[src]

Checks if the the combination of EventCategory, EventType and EventData is valid.

Trait Implementations

impl Clone for Event[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.