pub struct OriginDynamic { /* private fields */ }Expand description
Picks up OriginConsumer::request_broadcast calls for paths that are not announced.
The origin-level analogue of crate::BroadcastDynamic: where that serves tracks on
demand within a broadcast, this serves whole broadcasts on demand within an origin. A
relay uses it as a fallback router, fetching a broadcast from upstream only when a
downstream consumer asks for an exact path that nobody announced.
Served broadcasts are deliberately not announced, so they never appear in
OriginConsumer::announced. Drop this handle (and every clone) to reject the
requests still waiting to be served.
Implementations§
Source§impl OriginDynamic
impl OriginDynamic
Sourcepub fn poll_requested_broadcast(
&mut self,
waiter: &Waiter,
) -> Poll<Result<BroadcastRequest, Error>>
pub fn poll_requested_broadcast( &mut self, waiter: &Waiter, ) -> Poll<Result<BroadcastRequest, Error>>
Poll for the next requested broadcast, without blocking.
Sourcepub async fn requested_broadcast(&mut self) -> Result<BroadcastRequest, Error>
pub async fn requested_broadcast(&mut self) -> Result<BroadcastRequest, Error>
Block until a consumer requests an unannounced broadcast, returning a
BroadcastRequest to serve.
Trait Implementations§
Source§impl Clone for OriginDynamic
impl Clone for OriginDynamic
Source§impl Drop for OriginDynamic
impl Drop for OriginDynamic
Auto Trait Implementations§
impl Freeze for OriginDynamic
impl RefUnwindSafe for OriginDynamic
impl Send for OriginDynamic
impl Sync for OriginDynamic
impl Unpin for OriginDynamic
impl UnsafeUnpin for OriginDynamic
impl UnwindSafe for OriginDynamic
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more