pub struct GroupRequest { /* private fields */ }Expand description
A consumer’s request for a single past group, handed to a handler via
Dynamic::requested_group.
The handler fulfills it by calling Self::accept, which inserts the group
into the track cache (resolving every Consumer::fetch_group that joined the
attempt) and returns a group::Producer to fill. A relay typically opens a wire
FETCH, reads FETCH_OK, then accepts. The request carries its own producer handle,
so it works the same whether or not the track has been accepted yet.
Implementations§
Source§impl GroupRequest
impl GroupRequest
Sourcepub fn accept(self, info: impl Into<Option<Info>>) -> Result<Producer>
pub fn accept(self, info: impl Into<Option<Info>>) -> Result<Producer>
Insert the fetched group into the track cache, resolving the waiting
Consumer::fetch_group, and return a group::Producer to fill.
The group’s timescale comes from the track’s Info. info sets that
info if the track hasn’t been accepted yet (a fetch with no live subscription),
and is ignored once accepted. Returns Error::Duplicate if the group is
already present, or the track’s abort error if it closed while pending.
Sourcepub fn reject(self, err: Error)
pub fn reject(self, err: Error)
Reject the fetch, resolving every joined Consumer::fetch_group with err.