Struct ExecutionSession
pub struct ExecutionSession { /* private fields */ }Description
A bounded reference run with complete external tick inputs. The immutable program, exact calendar, and accepted values remain together. Complete input tables and retained output samples each have a one-million-scalar-component cap.
Implementations§
§impl ExecutionSession
impl ExecutionSession
pub fn checkpoint(&self) -> ExecutionSession
pub fn checkpoint(&self) -> ExecutionSession
Capture all accepted state, including the request, input tables and cursors. Resume cannot replace future inputs. This in-process snapshot has no serialized checkpoint-format promise.
pub fn advance_ticks(&mut self, count: usize) -> Result<usize, Vec<Diagnostic>>
pub fn advance_ticks(&mut self, count: usize) -> Result<usize, Vec<Diagnostic>>
Advance at most count distinct exact tick instants; return the accepted count.
A failed boundary changes neither values, clock progress, inputs nor outputs.
pub fn advance(&mut self) -> Result<bool, Vec<Diagnostic>>
pub fn advance(&mut self) -> Result<bool, Vec<Diagnostic>>
Advance one stabilized boundary. Event-only boundaries do not consume ticks. At a nominal tick, numerical guard zero witnesses coincidence; unresolved root-bracket overlap rejects. This is not a proof of exact real root equality. A failed advance leaves state, calendar, outputs and prior sequence unchanged.
pub fn progress(&self) -> ExecutionProgress
pub fn progress(&self) -> ExecutionProgress
The most recently accepted boundary; fresh sessions are before tick zero.
pub fn activation_sequence(&self) -> &[Vec<RawId>]
pub fn activation_sequence(&self) -> &[Vec<RawId>]
Activation IDs grouped by zero-time microstep in the last accepted boundary. IDs are sorted for inspection only; order never chooses execution priority.
pub fn next_tick(&self) -> Option<RationalTime>
pub fn next_tick(&self) -> Option<RationalTime>
Next requested exact instant, absent after the inclusive run horizon.
pub fn field(&self, field: RawId) -> Option<ValueLiteral>
pub fn field(&self, field: RawId) -> Option<ValueLiteral>
Accepted memory or continuous algebraic value. A clocked Variable is present only after its own accepted tick, until execution advances to another instant.
pub fn physical(&self, unknown: PhysicalUnknown) -> Option<f64>
pub fn physical(&self, unknown: PhysicalUnknown) -> Option<f64>
Accepted coherent-SI scalar value for one exact physical Port slot. A foreign or unexecuted slot has no value; observation adds no equation.
pub fn output(
&self,
port: RawId,
tick_index: u64,
) -> Option<(RationalTime, &ValueLiteral)>
pub fn output( &self, port: RawId, tick_index: u64, ) -> Option<(RationalTime, &ValueLiteral)>
An exposed output’s accepted sample at its own zero-based tick index. Absent before that tick; this never manufactures a held signal value.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ExecutionSession
impl RefUnwindSafe for ExecutionSession
impl Send for ExecutionSession
impl Sync for ExecutionSession
impl Unpin for ExecutionSession
impl UnsafeUnpin for ExecutionSession
impl UnwindSafe for ExecutionSession
Blanket Implementations§
Source§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
Scheme: ApproxScheme,
impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
Scheme: ApproxScheme,
§fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
§impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Srcwhere
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Srcwhere
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
§type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
§fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
Source§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T, Dst> ConvAsUtil<Dst> for T
impl<T, Dst> ConvAsUtil<Dst> for T
§fn approx(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
fn approx(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
§impl<T> ConvUtil for T
impl<T> ConvUtil for T
§fn approx_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
fn approx_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
§fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
§fn into_as<Dst>(self) -> Dstwhere
Self: Sized + Into<Dst>,
fn into_as<Dst>(self) -> Dstwhere
Self: Sized + Into<Dst>,
§fn try_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + TryInto<Dst>,
fn try_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + TryInto<Dst>,
§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
fn rand<T>(&self, rng: &mut (impl Rng + ?Sized)) -> Twhere
Self: Distribution<T>,
Source§impl<T> From<T> for T
impl<T> From<T> for T
§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, U> Into<U> for Twhere
U: From<T>,
impl<T, U> Into<U> for Twhere
U: From<T>,
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>where
F: FnOnce(&Self) -> bool,
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>where
F: FnOnce(&Self) -> bool,
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§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> Same for T
impl<T> Same for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.