pub enum WaitCondition {
Timer {
at: DateTime<Utc>,
},
ExternalEvent {
topic: String,
correlation_id: String,
},
Manual,
}Expand description
Typed view of Flow.wait_json. The engine evaluates this at every tick
to decide whether a Waiting flow can be resumed.
Host code (e.g. NATS bridge) is intentionally not coupled here — for
ExternalEvent the host calls WaitEngine::try_resume_external when a
matching message arrives.
Variants§
Timer
Resume when wall-clock time reaches at.
ExternalEvent
Resume when an external event for (topic, correlation_id) arrives.
Manual
Only resumed by an explicit manager.resume(...) call.
Implementations§
Source§impl WaitCondition
impl WaitCondition
pub fn into_value(self) -> Value
pub fn from_value(v: &Value) -> Option<Self>
Trait Implementations§
Source§impl Clone for WaitCondition
impl Clone for WaitCondition
Source§fn clone(&self) -> WaitCondition
fn clone(&self) -> WaitCondition
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 WaitCondition
impl Debug for WaitCondition
Source§impl<'de> Deserialize<'de> for WaitCondition
impl<'de> Deserialize<'de> for WaitCondition
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for WaitCondition
impl RefUnwindSafe for WaitCondition
impl Send for WaitCondition
impl Sync for WaitCondition
impl Unpin for WaitCondition
impl UnsafeUnpin for WaitCondition
impl UnwindSafe for WaitCondition
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,
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>
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