wired
libc-free QUIC/HTTP3 SDK in C for x86_64-linux
Loading...
Searching...
No Matches
wtcapsule.h
Go to the documentation of this file.
1#ifndef QUIC_WTCAPSULE_WTCAPSULE_H
2#define QUIC_WTCAPSULE_WTCAPSULE_H
3
6
37
40#define QUIC_WTCAPSULE_CLOSE_MESSAGE_MAX 1024
41
54 quic_obuf* out, u32 app_error_code, quic_span message);
55
61
85 quic_span data, usz* at, u32* app_error_code, quic_span* message);
86
96
108 quic_obuf* out, int bidi, u64 max_streams);
109
120 quic_span data, usz* at, int bidi, u64* max_streams);
121
131 quic_obuf* out, int bidi, u64 max_streams);
132
143 quic_span data, usz* at, int bidi, u64* max_streams);
144
153
163
173
182
183#endif
Value-type views that fold the SDK's recurring argument shapes into single parameters,...
Growing output buffer view for variable-length results.
Definition span.h:54
Read-only view of a byte range.
Definition span.h:30
x86_64 Linux direct syscalls.
unsigned int u32
unsigned 32-bit integer
Definition syscall.h:14
u64 usz
unsigned size (size_t equivalent)
Definition syscall.h:19
unsigned long u64
unsigned 64-bit integer
Definition syscall.h:12
int quic_wtcapsule_decode_close(quic_span data, usz *at, u32 *app_error_code, quic_span *message)
Attempt to decode the capsule at *at within data as a WT_CLOSE_SESSION.
int quic_wtcapsule_decode_max_data(quic_span data, usz *at, u64 *max_data)
Attempt to decode the capsule at *at within data as a WT_MAX_DATA capsule.
int quic_wtcapsule_encode_max_data(quic_obuf *out, u64 max_data)
Encode a WT_MAX_DATA capsule (SS5.6.4, type 0x190B4D3D) into out: body a single varint (Maximum Data,...
int quic_wtcapsule_encode_close(quic_obuf *out, u32 app_error_code, quic_span message)
Encode a WT_CLOSE_SESSION capsule (type 0x2843) into out.
int quic_wtcapsule_encode_drain(quic_obuf *out)
Encode a WT_DRAIN_SESSION capsule (type 0x78ae, empty body) into out.
int quic_wtcapsule_encode_max_streams(quic_obuf *out, int bidi, u64 max_streams)
Encode a WT_MAX_STREAMS capsule (draft-ietf-webtrans-http3-15 SS5.6.2) into out: type 0x190B4D3F for ...
int quic_wtcapsule_decode_drain(quic_span data, usz *at)
Attempt to decode the capsule at *at within data as a WT_DRAIN_SESSION.
int quic_wtcapsule_encode_streams_blocked(quic_obuf *out, int bidi, u64 max_streams)
Encode a WT_STREAMS_BLOCKED capsule (SS5.6.3) into out: type 0x190B4D43 for bidi, 0x190B4D44 for uni,...
int quic_wtcapsule_decode_max_streams(quic_span data, usz *at, int bidi, u64 *max_streams)
Attempt to decode the capsule at *at within data as a WT_MAX_STREAMS capsule of the given direction.
int quic_wtcapsule_encode_data_blocked(quic_obuf *out, u64 max_data)
Encode a WT_DATA_BLOCKED capsule (SS5.6.5, type 0x190B4D41) into out: body a single varint (Maximum D...
int quic_wtcapsule_decode_data_blocked(quic_span data, usz *at, u64 *max_data)
Attempt to decode the capsule at *at within data as a WT_DATA_BLOCKED capsule.
int quic_wtcapsule_decode_streams_blocked(quic_span data, usz *at, int bidi, u64 *max_streams)
Attempt to decode the capsule at *at within data as a WT_STREAMS_BLOCKED capsule of the given directi...