#[non_exhaustive]pub struct ObjectCtx<'a> {
pub session_id: SessionId,
pub side: ProxySide,
pub stream_id: u64,
pub meta: &'a ObjectMeta,
pub arrived_at: Instant,
pub caps: &'a Capabilities,
}Expand description
Context for an object decision.
Everything a scenario matches on is on meta, without re-parsing.
arrived_at lives here and not on ObjectMeta, which is
Copy + PartialEq + Eq and is compared by value across the test suite.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.session_id: SessionIdThe session identifier.
side: ProxySideThe side the object arrived on.
stream_id: u64The source stream’s transport-level identifier.
meta: &'a ObjectMetaIdentity and framing: draft, stream kind, track alias, group, subgroup, object ID, publisher priority, index in stream, payload length and status.
arrived_at: InstantWhen the framer produced this object.
caps: &'a CapabilitiesWhat is executable on this draft and stream kind. Consult it before returning an action rather than discovering the refusal in a report.
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for ObjectCtx<'a>
impl<'a> RefUnwindSafe for ObjectCtx<'a>
impl<'a> Send for ObjectCtx<'a>
impl<'a> Sync for ObjectCtx<'a>
impl<'a> Unpin for ObjectCtx<'a>
impl<'a> UnsafeUnpin for ObjectCtx<'a>
impl<'a> UnwindSafe for ObjectCtx<'a>
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