3#include <unordered_map>
5#include <openssl/ssl.h>
8#include <ngtcp2/ngtcp2.h>
19 for (
size_t i = 0; i < cid.datalen; ++i) {
20 hash ^= (
static_cast<std::size_t
>(cid.data[i]) << (i % 8));
27 bool operator()(
const ngtcp2_cid& a,
const ngtcp2_cid& b)
const {
28 if (a.datalen != b.datalen)
return false;
29 return std::memcmp(a.data, b.data, a.datalen) == 0;
52 void on_packet_received(
const uint8_t* data,
size_t datalen,
const sockaddr_in& remote_addr);
61 void send_packet(
const uint8_t* data,
size_t datalen,
const sockaddr* remote_addr, socklen_t remote_addrlen);
68 SSL_CTX* ssl_ctx_{
nullptr};
Definition UdpSocket.hpp:7
Manages QUIC connections.
Definition QuicConnectionManager.hpp:36
~QuicConnectionManager()
Definition QuicConnectionManager.cpp:16
void on_packet_received(const uint8_t *data, size_t datalen, const sockaddr_in &remote_addr)
Processes an incoming UDP packet for QUIC.
Definition QuicConnectionManager.cpp:19
void send_packet(const uint8_t *data, size_t datalen, const sockaddr *remote_addr, socklen_t remote_addrlen)
Sends a QUIC packet to a remote address.
Definition QuicConnectionManager.cpp:85
Definition Http2Session.hpp:17
Definition QuicConnectionManager.hpp:26
bool operator()(const ngtcp2_cid &a, const ngtcp2_cid &b) const
Definition QuicConnectionManager.hpp:27
Definition QuicConnectionManager.hpp:16
std::size_t operator()(const ngtcp2_cid &cid) const
Definition QuicConnectionManager.hpp:17