Loading...
Searching...
No Matches
Data Fields
imquic_packet Struct Reference

Abstraction of a QUIC packet. More...

#include <quic.h>

Collaboration diagram for imquic_packet:
Collaboration graph
[legend]

Data Fields

gboolean is_valid
 Whether the packet is valid, (still) protected, and (still) encrypted.
 
gboolean is_protected
 
gboolean is_encrypted
 
enum ssl_encryption_level_t level
 The encryption level of this packet.
 
gboolean longheader
 Whether this packet uses a long or short header.
 
gboolean spin_bit
 Whether ths spin bit and/or the key phase bit are set in this packet (only in case longheader is FALSE)
 
gboolean key_phase
 
imquic_long_packet_type type
 Type of long header packet (only in case longheader is TRUE)
 
uint32_t version
 QUIC version in the packet (only in case longheader is TRUE)
 
imquic_connection_id destination
 Destination Connection ID.
 
imquic_connection_id source
 Source Connection ID (only in case longheader is TRUE)
 
uint64_t packet_number
 QUIC packet number.
 
size_t length_offset
 Offsets in the packet data to where the lenght, packet number and payload are.
 
size_t pkn_offset
 
size_t payload_offset
 
GList * frames
 List of serialized frames in this packet.
 
size_t frames_size
 Cumulative size of all the frames.
 
gboolean ack_eliciting
 Whether this packet contains ACK-eliciting frames.
 
gboolean retransmit_if_lost
 Whether this packet should be retransmitted if lost.
 
imquic_data_fixed payload
 Buffers.
 
imquic_data_fixed data
 

Detailed Description

Abstraction of a QUIC packet.

Field Documentation

◆ ack_eliciting

gboolean imquic_packet::ack_eliciting

Whether this packet contains ACK-eliciting frames.

◆ data

imquic_data_fixed imquic_packet::data

◆ destination

imquic_connection_id imquic_packet::destination

Destination Connection ID.

◆ frames

GList* imquic_packet::frames

List of serialized frames in this packet.

Note
Only used for outgoing packets

◆ frames_size

size_t imquic_packet::frames_size

Cumulative size of all the frames.

◆ is_encrypted

gboolean imquic_packet::is_encrypted

◆ is_protected

gboolean imquic_packet::is_protected

◆ is_valid

gboolean imquic_packet::is_valid

Whether the packet is valid, (still) protected, and (still) encrypted.

◆ key_phase

gboolean imquic_packet::key_phase

◆ length_offset

size_t imquic_packet::length_offset

Offsets in the packet data to where the lenght, packet number and payload are.

◆ level

enum ssl_encryption_level_t imquic_packet::level

The encryption level of this packet.

◆ longheader

gboolean imquic_packet::longheader

Whether this packet uses a long or short header.

◆ packet_number

uint64_t imquic_packet::packet_number

QUIC packet number.

◆ payload

imquic_data_fixed imquic_packet::payload

Buffers.

◆ payload_offset

size_t imquic_packet::payload_offset

◆ pkn_offset

size_t imquic_packet::pkn_offset

◆ retransmit_if_lost

gboolean imquic_packet::retransmit_if_lost

Whether this packet should be retransmitted if lost.

◆ source

imquic_connection_id imquic_packet::source

Source Connection ID (only in case longheader is TRUE)

◆ spin_bit

gboolean imquic_packet::spin_bit

Whether ths spin bit and/or the key phase bit are set in this packet (only in case longheader is FALSE)

◆ type

imquic_long_packet_type imquic_packet::type

Type of long header packet (only in case longheader is TRUE)

◆ version

uint32_t imquic_packet::version

QUIC version in the packet (only in case longheader is TRUE)


The documentation for this struct was generated from the following file: