wired
libc-free QUIC/HTTP3 SDK in C for x86_64-linux
Loading...
Searching...
No Matches
priority.h
1#ifndef QUIC_H3_PRIORITY_H
2#define QUIC_H3_PRIORITY_H
3
6
7/* RFC 9218 4. HTTP/3 Extensible Priorities: urgency (u, 0-7, default 3) and
8 * incremental (i, 0/1, default 0). Lower urgency value is higher priority. */
9
10#define QUIC_H3_URGENCY_DEFAULT 3
11#define QUIC_H3_URGENCY_MAX 7
12
19
20void quic_h3_priority_init(quic_h3_priority* p);
21
22/* True if urgency a outranks urgency b (smaller value = higher priority). */
23int quic_h3_priority_higher(u8 urg_a, u8 urg_b);
24
25int quic_h3_urgency_valid(u8 u);
26
27/* RFC 9218 4.1: take an ASCII digit '0'..'7' as the urgency; anything else
28 * leaves p untouched. */
29void quic_h3_priority_set_urgency(quic_h3_priority* p, u8 digit);
30
31/* RFC 9218 4.2: at an `i` member starting at v[i], a bare `i` (or `i=?1`)
32 * sets incremental, `i=?0` clears it; malformed forms leave p untouched. */
33void quic_h3_priority_set_incremental(quic_h3_priority* p, quic_span v, usz i);
34
35#endif
Value-type views that fold the SDK's recurring argument shapes into single parameters,...
RFC 9218 4: a request's priority — urgency (lower is more urgent) and whether the response may be ser...
Definition priority.h:15
u8 incremental
0 or 1, default 0
Definition priority.h:17
u8 urgency
0..7, default 3
Definition priority.h:16
Read-only view of a byte range.
Definition span.h:30
x86_64 Linux direct syscalls.
u64 usz
unsigned size (size_t equivalent)
Definition syscall.h:19
unsigned char u8
unsigned 8-bit integer / byte
Definition syscall.h:17