Quicr / old-quicrq

BSD 2-Clause "Simplified" License
4 stars 2 forks source link

Subscribe intent #94

Closed huitema closed 2 years ago

huitema commented 2 years ago

Implementing the "subscribe intent" logic will take two steps.

The first step is to revise the cache management to distinguish between "streaming" media, for which the cache shall always start at the beginning, and "real time" media, for which the cache is purged progressively as time passes, while keeping the relevant GOB in cache. The first series of commit implement that. The only API change is the addition of a media source property describing the required cache management.

Next, we have to consider "intent". By default, this means that for real time media, transmission to a new client will start at the latest GOB, with code to drop intermediate frames marked as "can be dropped". This will come next.

After that, two plausible variations: let the client specify the GOB/Object ID at which it wants to start receiving; and let the client specify a "next GOB" mode if it does not want to receive partial data.

huitema commented 2 years ago

Set of commits ending at 671ad93 introduce the "subscribe intent" in its basic form: subscribe to the current group of blocks. Two additions needed: subscribe to a specific group id; and, subscribe to "the current point".