Network System 0.1.1
High-performance modular networking library for scalable client-server applications
Loading...
Searching...
No Matches
packet.h File Reference
#include "kcenon/network/detail/protocols/quic/connection_id.h"
#include "kcenon/network/detail/utils/result_types.h"
#include <cstdint>
#include <span>
#include <utility>
#include <variant>
#include <vector>
Include dependency graph for packet.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  kcenon::network::protocols::quic::long_header
 QUIC Long Header format (RFC 9000 Section 17.2) More...
 
struct  kcenon::network::protocols::quic::short_header
 QUIC Short Header format (RFC 9000 Section 17.3) More...
 
class  kcenon::network::protocols::quic::packet_number
 QUIC packet number utilities (RFC 9000 Section 17.1) More...
 
class  kcenon::network::protocols::quic::packet_parser
 Parser for QUIC packet headers (RFC 9000 Section 17) More...
 
class  kcenon::network::protocols::quic::packet_builder
 Builder for QUIC packet headers (RFC 9000 Section 17) More...
 

Namespaces

namespace  kcenon
 
namespace  kcenon::network
 Main namespace for all Network System components.
 
namespace  kcenon::network::protocols
 
namespace  kcenon::network::protocols::quic
 
namespace  kcenon::network::protocols::quic::quic_version
 Well-known QUIC version numbers.
 

Typedefs

using kcenon::network::protocols::quic::packet_header = std::variant<long_header, short_header>
 Variant type for packet headers.
 

Enumerations

enum class  kcenon::network::protocols::quic::packet_type : uint8_t {
  kcenon::network::protocols::quic::initial = 0x00 , kcenon::network::protocols::quic::zero_rtt = 0x01 , kcenon::network::protocols::quic::handshake = 0x02 , kcenon::network::protocols::quic::retry = 0x03 ,
  kcenon::network::protocols::quic::one_rtt = 0xFF
}
 QUIC packet types (RFC 9000 Section 17) More...
 

Functions

auto kcenon::network::protocols::quic::packet_type_to_string (packet_type type) -> std::string
 Convert packet type to string for debugging.
 

Variables

constexpr uint32_t kcenon::network::protocols::quic::quic_version::version_1 = 0x00000001
 QUIC version 1 (RFC 9000)
 
constexpr uint32_t kcenon::network::protocols::quic::quic_version::version_2 = 0x6b3343cf
 QUIC version 2 (RFC 9369)
 
constexpr uint32_t kcenon::network::protocols::quic::quic_version::negotiation = 0x00000000
 Version Negotiation (special value)