pub struct ConsumerSourceSelection {
active: bool,
selector: SourceSelector,
policy_pause_reason: Option<PolicyPauseReason>,
budget: ReceiverVideoBudgetDiagnostics,
pressure_observations: u8,
upgrade_observations: u8,
}Expand description
Receiver-side policy state for one attached publication.
active preserves stored subscription intent while policy_pause_reason
may withhold delivery without erasing that intent. selector is a resolved
room choice that projection maps to a transport packet gate.
ConsumerSourceSelection carries no publication or route identity. Async
updates must still match the current PublishedSourceId and exact consumer
route.
Fields§
§active: bool§selector: SourceSelector§policy_pause_reason: Option<PolicyPauseReason>§budget: ReceiverVideoBudgetDiagnostics§pressure_observations: u8§upgrade_observations: u8Implementations§
Source§impl ConsumerSourceSelection
impl ConsumerSourceSelection
pub const fn open(active: bool) -> Self
pub const fn active(self) -> bool
pub const fn selector(self) -> SourceSelector
pub const fn policy_pause_reason(self) -> Option<PolicyPauseReason>
pub const fn policy_allows_delivery(self) -> bool
Sourcepub const fn delivery_active(self) -> bool
pub const fn delivery_active(self) -> bool
Returns whether this receiver selection currently permits packet delivery.
Use this for route-state projections, load accounting and keyframe
targeting. Source-policy planners should read Self::active so
policy-paused routes can be resumed.
pub const fn budget(self) -> ReceiverVideoBudgetDiagnostics
pub const fn pressure_observations(self) -> u8
pub const fn upgrade_observations(self) -> u8
pub const fn set_active(&mut self, active: bool)
pub const fn set_selector(&mut self, selector: SourceSelector)
pub const fn set_policy_pause_reason( &mut self, reason: Option<PolicyPauseReason>, )
pub const fn set_budget(&mut self, budget: ReceiverVideoBudgetDiagnostics)
pub const fn set_adaptation_observations( &mut self, pressure_observations: u8, upgrade_observations: u8, )
Trait Implementations§
Source§impl Clone for ConsumerSourceSelection
impl Clone for ConsumerSourceSelection
Source§fn clone(&self) -> ConsumerSourceSelection
fn clone(&self) -> ConsumerSourceSelection
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ConsumerSourceSelection
impl Debug for ConsumerSourceSelection
Source§impl PartialEq for ConsumerSourceSelection
impl PartialEq for ConsumerSourceSelection
impl Copy for ConsumerSourceSelection
impl Eq for ConsumerSourceSelection
impl StructuralPartialEq for ConsumerSourceSelection
Auto Trait Implementations§
impl Freeze for ConsumerSourceSelection
impl RefUnwindSafe for ConsumerSourceSelection
impl Send for ConsumerSourceSelection
impl Sync for ConsumerSourceSelection
impl Unpin for ConsumerSourceSelection
impl UnsafeUnpin for ConsumerSourceSelection
impl UnwindSafe for ConsumerSourceSelection
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more