pub struct Context { /* private fields */ }Expand description
Thread-safe key-value context shared across pipeline execution.
Stores arbitrary JSON values keyed by string names. Supports isolated clones for parallel branches and atomic update application.
Implementations§
Source§impl Context
impl Context
Sourcepub fn with_values(values: HashMap<String, Value>) -> Self
pub fn with_values(values: HashMap<String, Value>) -> Self
Create a context with initial values.
Sourcepub async fn snapshot(&self) -> HashMap<String, Value>
pub async fn snapshot(&self) -> HashMap<String, Value>
Take a snapshot of the current context state.
Sourcepub async fn clone_isolated(&self) -> Self
pub async fn clone_isolated(&self) -> Self
Create an isolated clone for parallel branches.
Changes to the clone do not affect the original.
Sourcepub async fn apply_updates(&self, updates: &HashMap<String, Value>)
pub async fn apply_updates(&self, updates: &HashMap<String, Value>)
Apply a batch of updates atomically.
Sourcepub async fn contains_key(&self, key: &str) -> bool
pub async fn contains_key(&self, key: &str) -> bool
Check if the context contains a key.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Context
impl !RefUnwindSafe for Context
impl Send for Context
impl Sync for Context
impl Unpin for Context
impl UnsafeUnpin for Context
impl !UnwindSafe for Context
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