pub struct SagaInstance {
pub saga_id: SagaId,
pub saga_type: String,
pub status: SagaStatus,
pub steps: Vec<SagaStep>,
pub context: HashMap<String, String>,
pub created_at: DateTime<Utc>,
pub updated_at: DateTime<Utc>,
pub completed_at: Option<DateTime<Utc>>,
}Expand description
Saga instance containing all steps and metadata
Fields§
§saga_id: SagaId§saga_type: String§status: SagaStatus§steps: Vec<SagaStep>§context: HashMap<String, String>§created_at: DateTime<Utc>§updated_at: DateTime<Utc>§completed_at: Option<DateTime<Utc>>Implementations§
Source§impl SagaInstance
impl SagaInstance
pub fn new(saga_type: String, steps: Vec<SagaStep>) -> Self
pub fn get_current_step(&self) -> Option<&SagaStep>
pub fn get_current_step_mut(&mut self) -> Option<&mut SagaStep>
pub fn get_failed_steps(&self) -> Vec<&SagaStep>
pub fn add_context(&mut self, key: String, value: String)
pub fn mark_completed(&mut self)
pub fn mark_compensating(&mut self)
pub fn mark_compensated(&mut self)
Trait Implementations§
Source§impl Clone for SagaInstance
impl Clone for SagaInstance
Source§fn clone(&self) -> SagaInstance
fn clone(&self) -> SagaInstance
Returns a duplicate of the value. Read more
1.0.0 · 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 SagaInstance
impl Debug for SagaInstance
Source§impl<'de> Deserialize<'de> for SagaInstance
impl<'de> Deserialize<'de> for SagaInstance
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 SagaInstance
impl RefUnwindSafe for SagaInstance
impl Send for SagaInstance
impl Sync for SagaInstance
impl Unpin for SagaInstance
impl UnwindSafe for SagaInstance
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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