pub enum CursorKind {
Range,
ExtendingTimed {
min_ms_output: String,
delta_output: Option<String>,
},
ExtendingPasses {
min_passes_output: String,
delta_output: Option<String>,
},
ExtendingCount {
min_count_output: String,
delta_output: Option<String>,
},
ExtendingElapsedAndPasses {
min_ms_output: String,
min_passes_output: String,
delta_output: Option<String>,
},
ExtendingElapsedOrPasses {
min_ms_output: String,
min_passes_output: String,
delta_output: Option<String>,
},
}Expand description
Cursor-construction discriminator. Set by the Polydat compiler
when it recognises a cursor’s constructor expression
(range(...), until_elapsed(...), etc.); read by the
executor at phase setup to instantiate the matching
data-source factory + policy.
Each Extending* variant carries the Polydat output names the
runtime should pull at phase setup to resolve the policy’s
parameters (same pattern as extent_outputs for range).
delta_output is optional — when None, the cursor’s base
is used as the extension delta.
Variants§
Range
Bounded range(start, end) cursor. Default — keeps
every existing call site working.
ExtendingTimed
until_elapsed(base, min_ms[, delta]).
Extends while elapsed_ms < min_ms.
Fields
ExtendingPasses
until_passes(base, min_passes[, delta]).
Extends while completed passes < min_passes.
Fields
ExtendingCount
until_count(base, min_count[, delta]).
Extends while raw consumed count < min_count.
Fields
ExtendingElapsedAndPasses
until_elapsed_and_passes(base, min_ms, min_passes[, delta]).
AND: stops when EITHER target is reached. Extends while
BOTH conditions are still below target.
Fields
ExtendingElapsedOrPasses
until_elapsed_or_passes(base, min_ms, min_passes[, delta]).
OR: stops only when BOTH targets are reached. Extends
while EITHER condition is still below target.
Trait Implementations§
Source§impl Clone for CursorKind
impl Clone for CursorKind
Source§fn clone(&self) -> CursorKind
fn clone(&self) -> CursorKind
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CursorKind
impl Debug for CursorKind
Source§impl Default for CursorKind
impl Default for CursorKind
Source§fn default() -> CursorKind
fn default() -> CursorKind
Auto Trait Implementations§
impl Freeze for CursorKind
impl RefUnwindSafe for CursorKind
impl Send for CursorKind
impl Sync for CursorKind
impl Unpin for CursorKind
impl UnsafeUnpin for CursorKind
impl UnwindSafe for CursorKind
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