16 #ifndef __included_quic_h__ 17 #define __included_quic_h__ 35 #define QUIC_TSTAMP_RESOLUTION 0.001 36 #define QUIC_TIMER_HANDLE_INVALID ((u32) ~0) 37 #define QUIC_SESSION_INVALID ((u32) ~0 - 1) 38 #define QUIC_MAX_PACKET_SIZE 1280 40 #define QUIC_INT_MAX 0x3FFFFFFFFFFFFFFF 41 #define QUIC_DEFAULT_FIFO_SIZE (64 << 10) 42 #define QUIC_SEND_PACKET_VEC_SIZE 16 45 #define QUICLY_QUIC_BIT 0x40 47 #define QUICLY_PACKET_TYPE_INITIAL (QUICLY_LONG_HEADER_BIT | QUICLY_QUIC_BIT | 0) 48 #define QUICLY_PACKET_TYPE_0RTT (QUICLY_LONG_HEADER_BIT | QUICLY_QUIC_BIT | 0x10) 49 #define QUICLY_PACKET_TYPE_HANDSHAKE (QUICLY_LONG_HEADER_BIT | QUICLY_QUIC_BIT | 0x20) 50 #define QUICLY_PACKET_TYPE_RETRY (QUICLY_LONG_HEADER_BIT | QUICLY_QUIC_BIT | 0x30) 51 #define QUICLY_PACKET_TYPE_BITMASK 0xf0 54 #define QUIC_ERROR_FULL_FIFO 0xff10 55 #define QUIC_APP_ERROR_CLOSE_NOTIFY QUICLY_ERROR_FROM_APPLICATION_ERROR_CODE(0) 56 #define QUIC_APP_ALLOCATION_ERROR QUICLY_ERROR_FROM_APPLICATION_ERROR_CODE(0x1) 57 #define QUIC_APP_ACCEPT_NOTIFY_ERROR QUICLY_ERROR_FROM_APPLICATION_ERROR_CODE(0x2) 58 #define QUIC_APP_CONNECT_NOTIFY_ERROR QUICLY_ERROR_FROM_APPLICATION_ERROR_CODE(0x3) 61 #define QUIC_DBG(_lvl, _fmt, _args...) \ 62 if (_lvl <= QUIC_DEBUG) \ 63 clib_warning (_fmt, ##_args) 65 #define QUIC_DBG(_lvl, _fmt, _args...) 72 #define quic_error(n,s) QUIC_ERROR_##n, 132 "connection data must be less than TRANSPORT_CONN_ID_LEN bytes");
135 "connection data must be less than TRANSPORT_CONN_ID_LEN bytes");
#define CLIB_CACHE_LINE_ALIGN_MARK(mark)
struct quic_session_cache_ quic_session_cache_t
enum quic_ctx_conn_state_ quic_ctx_conn_state_t
quic_worker_ctx_t * wrk_ctx
quicly_stream_t * stream
STREAM ctx case.
quicly_cid_plaintext_t next_cid
int64_t time_now
worker time
clib_bihash_16_8_t connection_hash
struct quic_ctx_ quic_ctx_t
struct quic_worker_ctx_ quic_worker_ctx_t
f64 tstamp_ticks_per_clock
ptls_handshake_properties_t hs_properties
quicly_conn_t * conn
QUIC ctx case.
transport_connection_t connection
ptls_cipher_suite_t *** quic_ciphers
quicly_context_t quicly_ctx
ptls_encrypt_ticket_t super
struct quic_main_ quic_main_t
struct _transport_connection transport_connection_t
STATIC_ASSERT(offsetof(quic_ctx_t, _qctx_end_marker)<=TRANSPORT_CONN_ID_LEN, "connection data must be less than TRANSPORT_CONN_ID_LEN bytes")
#define TRANSPORT_CONN_ID_LEN
tw_timer_wheel_1t_3w_1024sl_ov_t timer_wheel
worker timer wheel
u32 quic_connection_ctx_id
session_handle_t udp_session_handle
struct _vlib_node_registration vlib_node_registration_t
struct quic_stream_data_ quic_stream_data_t
vlib_node_registration_t quic_input_node
(constructor) VLIB_REGISTER_NODE (quic_input_node)
enum quic_crypto_engine_ quic_crypto_engine_t
quic_session_cache_t session_cache
enum quic_ctx_flags_ quic_ctx_flags_t