pub enum WrapperSubject<'a> {
Op(&'a ParsedOp),
Phase(&'a WorkloadPhase),
}Expand description
SRD-82/92 — the execution unit a wrapper’s trigger inspects, generalising
the registry across levels. An op wrapper reads the Op variant; a phase
wrapper the Phase variant (scenario/session variants join when those
levels wire up). Op-level wrappers guard with Self::op; the resolver
only offers a wrapper subjects of the level it declares (applies_at), so
a well-formed wrapper never sees a foreign subject — the guard is a
belt-and-braces None return.
Variants§
Op(&'a ParsedOp)
Phase(&'a WorkloadPhase)
Implementations§
Source§impl<'a> WrapperSubject<'a>
impl<'a> WrapperSubject<'a>
Sourcepub fn level(&self) -> WrapperLevel
pub fn level(&self) -> WrapperLevel
The execution level of this subject; pairs with WrapperRegistration::applies_at.
Sourcepub fn op(&self) -> Option<&'a ParsedOp>
pub fn op(&self) -> Option<&'a ParsedOp>
The op template, if this is an op subject (op-wrapper triggers guard on it).
Sourcepub fn phase(&self) -> Option<&'a WorkloadPhase>
pub fn phase(&self) -> Option<&'a WorkloadPhase>
The phase, if this is a phase subject (phase-wrapper triggers guard on it).
Sourcepub fn has_owned_field(&self, field: &str) -> bool
pub fn has_owned_field(&self, field: &str) -> bool
Uniform “is this wrapper-owned field present?” — the canonical field
names mapped to each unit’s actual storage. Op fields are spread
across params/condition/delay/rate; phase fields are typed
slots. Used by the parse-time misplaced-field guard.
Trait Implementations§
Source§impl<'a> Clone for WrapperSubject<'a>
impl<'a> Clone for WrapperSubject<'a>
impl<'a> Copy for WrapperSubject<'a>
Auto Trait Implementations§
impl<'a> Freeze for WrapperSubject<'a>
impl<'a> RefUnwindSafe for WrapperSubject<'a>
impl<'a> Send for WrapperSubject<'a>
impl<'a> Sync for WrapperSubject<'a>
impl<'a> Unpin for WrapperSubject<'a>
impl<'a> UnsafeUnpin for WrapperSubject<'a>
impl<'a> UnwindSafe for WrapperSubject<'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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§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> ⓘ
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> ⓘ
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