Two origin-level moq-net capabilities are not reachable through moq-ffi:
-
Cache pool configuration: moq-net has a global LRU byte budget (cache::Pool, rs/moq-net/src/model/cache.rs) that flows via origin::Info { pool }. moq-ffi builds origins as Origin::random().produce() with the unbounded default (rs/moq-ffi/src/origin.rs), so a native app has no way to bound group cache memory. Proposed: an options Record on origin creation, e.g. MoqOriginOptions { cache_capacity_bytes: Option<u64> } (Record with defaults so it stays additive).
-
Dynamic broadcast serving (requested_broadcast): Rust origin::Dynamic lets a publisher serve broadcasts on demand without announcing them (rs/moq-net/src/model/origin.rs); moq-ffi exposes the consumer side (request_broadcast) but not the serving side. Proposed: mirror the existing MoqBroadcastDynamic/MoqTrackRequest pattern one level up: MoqOriginProducer.dynamic() -> MoqOriginDynamic, requested_broadcast() -> MoqBroadcastRequest with accept()/reject(code).
Both additive. Wrappers (py/swift/kt/go) + doc/lib/* per the Cross-Package Sync table; libmoq tracked in the libmoq catch-up issue.
(Written by Claude Fable 5)
Two origin-level moq-net capabilities are not reachable through moq-ffi:
Cache pool configuration: moq-net has a global LRU byte budget (
cache::Pool,rs/moq-net/src/model/cache.rs) that flows viaorigin::Info { pool }. moq-ffi builds origins asOrigin::random().produce()with the unbounded default (rs/moq-ffi/src/origin.rs), so a native app has no way to bound group cache memory. Proposed: an options Record on origin creation, e.g.MoqOriginOptions { cache_capacity_bytes: Option<u64> }(Record with defaults so it stays additive).Dynamic broadcast serving (
requested_broadcast): Rustorigin::Dynamiclets a publisher serve broadcasts on demand without announcing them (rs/moq-net/src/model/origin.rs); moq-ffi exposes the consumer side (request_broadcast) but not the serving side. Proposed: mirror the existingMoqBroadcastDynamic/MoqTrackRequestpattern one level up:MoqOriginProducer.dynamic() -> MoqOriginDynamic,requested_broadcast() -> MoqBroadcastRequestwithaccept()/reject(code).Both additive. Wrappers (py/swift/kt/go) +
doc/lib/*per the Cross-Package Sync table; libmoq tracked in the libmoq catch-up issue.(Written by Claude Fable 5)