Commit Graph
1 Commits
Author SHA1 Message Date
obscuremindandClaude Opus 5 4eea8a587e feat(fanout): IngestFeeder, a reliable daemon feed for the PHP producers
Since ADR 0003 Phase E the xc_fanout daemon is the only client delivery
path, so for the PHP producers (the LLOD segmenter, the loopback relay and,
next, the delay worker) the feed into its ingest socket IS the channel's
delivery. They wrote it with a bare non-blocking fwrite(): a short write
silently dropped the rest of the buffer, tearing TS packets, and after one
failure the feed stopped for the life of the process.

IngestFeeder keeps what the socket did not take and sends it first next
time (capped, shedding the oldest whole packets), discards a half-sent
packet's tail on reconnect so the new connection starts aligned,
re-registers and redials after a daemon restart with a backoff, and
carries the stream's HLS key/iv for encrypted HLS.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-11 16:17:09 +01:00