wired
libc-free QUIC/HTTP3 SDK in C for x86_64-linux
Loading...
Searching...
No Matches
moqtrel_buf Struct Reference

One reliable-relay ring: the publisher's relayed bytes plus every subscriber's cursor and the publisher-side backpressure state. More...

#include <moqtrel.h>

Data Fields

u8 buf [WIRED_MOQTREL_CAP]
 Ring storage; byte at absolute offset o lives at o % CAP.
u64 head
 Absolute offset below which bytes have been reclaimed (rewritable).
u64 tail
 Absolute offset one past the last appended byte.
int in_use
 1 while this pool entry is bound to a relayed track.
int fin_seen
 1 once the publisher's stream FIN arrived.
int held
 1 while the publisher's receive credit is held by the hub.
wired_wt_session * pub
 Publisher session, kept so the hub can hold/release its credit.
u64 pub_stream
 Publisher's stream id for the same hold/release calls.
u64 bound_ms
 Time (ms) the ring was bound; bounds the wait for a first cursor.
moqtrel_sub subs [WIRED_MOQTREL_MAX_SUBS]
 Per-subscriber read cursors, indexed like the hub's sub table.
u64 mark_end [WIRED_MOQTREL_MARKS]
 Arrival marks, oldest first: bytes below mark_end[k] and at or past mark_end[k-1] reached the hub at mark_ms[k].
u64 mark_ms [WIRED_MOQTREL_MARKS]
 Arrival time (ms) of each mark, parallel to mark_end.
u32 marks
 Marks in use (mark_end[0..marks), mark_ms[0..marks)).

Detailed Description

One reliable-relay ring: the publisher's relayed bytes plus every subscriber's cursor and the publisher-side backpressure state.

Field Documentation

◆ mark_end

u64 moqtrel_buf::mark_end[WIRED_MOQTREL_MARKS]

Arrival marks, oldest first: bytes below mark_end[k] and at or past mark_end[k-1] reached the hub at mark_ms[k].

Marks wholly reclaimed are dropped (moqtrel_reclaim).


The documentation for this struct was generated from the following file: