Skip to main content

CheckpointManager

pub struct CheckpointManager { /* private fields */ }
Expand description

Manages checkpoints for a single execution.

Implementations§

Source§

impl CheckpointManager

Source

pub fn new(execution_id: &str) -> Self

Create a new checkpoint manager for an execution.

Source

pub fn initialize(&mut self, payload: &str) -> OperationEvents

Initialize with the first operation (EXECUTION type).

Source

pub fn get_operation_data(&self, operation_id: &str) -> Option<&OperationEvents>

Get operation data by ID.

Source

pub fn get_all_operation_data(&self) -> &HashMap<String, OperationEvents>

Get all operation data.

Source

pub fn has_dirty_operations(&self) -> bool

Check if there are dirty operations.

Source

pub fn get_dirty_operations(&mut self) -> Vec<Operation>

Get and clear dirty operations.

Source

pub fn is_execution_completed(&self) -> bool

Check if execution is completed.

Source

pub fn start_invocation(&mut self, invocation_id: &str) -> Vec<OperationEvents>

Start an invocation.

Source

pub fn complete_invocation( &mut self, invocation_id: &str, ) -> Result<InvocationTimestamps, TestError>

Complete an invocation.

Source

pub fn get_state(&self) -> Vec<Operation>

Get current state (all operations in insertion order).

Source

pub fn process_checkpoint( &mut self, updates: Vec<OperationUpdate>, ) -> Result<Vec<Operation>, TestError>

Process a checkpoint with operation updates.

Source

pub fn callback_manager(&self) -> &CallbackManager

Get the callback manager.

Source

pub fn callback_manager_mut(&mut self) -> &mut CallbackManager

Get mutable callback manager.

Source

pub fn complete_callback_operation( &mut self, callback_id: &str, result: Option<String>, error: Option<ErrorObject>, )

Complete a callback operation by updating its status and result/error.

Finds the operation whose callback_details.callback_id matches the given callback_id and transitions it to Succeeded (with result) or Failed (with error). This is called when an external system sends a callback response via the CallbackManager.

Source

pub fn event_processor(&self) -> &EventProcessor

Get the event processor.

Source

pub fn event_processor_mut(&mut self) -> &mut EventProcessor

Get mutable event processor.

Source

pub fn get_history_events(&self) -> Vec<HistoryEvent>

Get all history events.

Source

pub fn get_nodejs_history_events(&self) -> Vec<NodeJsHistoryEvent>

Get all Node.js-compatible history events.

Returns a vector of events in the Node.js SDK compatible format, suitable for cross-SDK history comparison.

Source

pub fn execution_id(&self) -> &str

Get the execution ID.

Source

pub fn update_operation_data( &mut self, operation_id: &str, updated_operation: Operation, )

Update operation data directly.

This method is used by the orchestrator to update operation state (e.g., marking wait operations as SUCCEEDED after time advancement).

Trait Implementations§

Source§

impl Debug for CheckpointManager

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

Source§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more