moq-lite-05: restore Publisher Max Latency, min-of-two expiration, drop compression#45
Conversation
…op compression - Add `Publisher Max Latency` to TRACK_INFO as a maximum cache-retention bound (the inverse of an HTTP Cache-Control: max-age guarantee), and restore the `Subscriber` prefix now that Max Latency is two-sided again. - Expire a group once *either* its timestamp age or its wall-clock arrival age exceeds Max Latency (shorter lifetime wins), so manipulated timestamps and delivery bursts are both bounded. - Revert the ANNOUNCE_BROADCAST DEFLATE compression added in #44 (it lives in the namespace-compression extension draft); drop the now-unused RFC1951 and RFC7692 references. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
There was a problem hiding this comment.
Sorry @kixelated, you have reached your weekly rate limit of 500000 diff characters.
Please try again later or upgrade to continue using Sourcery
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
WalkthroughThe draft splits the single 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches✨ Simplify code
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary
Three changes to
draft-lcurley-moq-lite.md, all under the in-progress moq-lite-05 changelog:Restore
Publisher Max LatencyAdded back to TRACK_INFO (immutable per-track property) with maximum cache-retention semantics — an upper bound on how long the publisher caches a non-latest group, the inverse of an HTTP
Cache-Control: max-ageguarantee. Subscribers MUST NOT assume an older group is still available even within the bound. SinceMax Latencyis two-sided again, theSubscriberprefix is restored on the subscriber field (SUBSCRIBE / SUBSCRIBE_UPDATE).Minimum-of-two expiration
A group's age is now measured two ways and it expires once either exceeds
Max Latency(its effective lifetime is the minimum of the two):The two backstop each other: a publisher can't keep stale groups alive with fresh-looking timestamps (wall-clock evicts anyway), and a delivery burst (e.g. catching up at subscription start) doesn't reset age (timestamp age evicts the media-old ones). Empty groups still fall back to wall-clock only.
Drop compression
Reverted the ANNOUNCE_BROADCAST DEFLATE compression added in #44 — it now lives in the standalone
draft-lcurley-moq-namespace-compression.mdextension. Removed theCompressed Payloadwrapper, the compression section, the Announce-Stream compression-context prose, and the now-unusedRFC1951/RFC7692references. Nocompress/deflatetext remains in the draft.Validation
make draft-lcurley-moq-lite.txtpasses (kramdown-rfc + xml2rfc OK).🤖 Generated with Claude Code