pub struct TransactionRecord {
pub tx_id: TransactionId,
pub decision: CoordinatorDecision,
pub participants: HashMap<String, ParticipantState>,
pub started_at: Instant,
pub decision_at: Option<Instant>,
}Expand description
Transaction state in the coordinator
Fields§
§tx_id: TransactionIdTransaction ID
decision: CoordinatorDecisionCurrent decision
participants: HashMap<String, ParticipantState>Participant states
started_at: InstantTransaction start time
decision_at: Option<Instant>When decision was made
Implementations§
Source§impl TransactionRecord
impl TransactionRecord
Sourcepub fn new(tx_id: TransactionId, participant_ids: &[String]) -> Self
pub fn new(tx_id: TransactionId, participant_ids: &[String]) -> Self
Create a new transaction record
Sourcepub fn all_voted_yes(&self) -> bool
pub fn all_voted_yes(&self) -> bool
Check if all participants have voted yes
Sourcepub fn any_voted_no_or_timeout(&self) -> bool
pub fn any_voted_no_or_timeout(&self) -> bool
Check if any participant voted no or timed out
Sourcepub fn all_acknowledged(&self) -> bool
pub fn all_acknowledged(&self) -> bool
Check if all participants have acknowledged
Sourcepub fn pending_voters(&self) -> Vec<&str>
pub fn pending_voters(&self) -> Vec<&str>
Get participants that haven’t voted yet
Sourcepub fn pending_acknowledgments(&self) -> Vec<&str>
pub fn pending_acknowledgments(&self) -> Vec<&str>
Get participants that haven’t acknowledged yet
Sourcepub fn make_decision(&mut self, decision: CoordinatorDecision)
pub fn make_decision(&mut self, decision: CoordinatorDecision)
Mark decision and timestamp
Trait Implementations§
Source§impl Clone for TransactionRecord
impl Clone for TransactionRecord
Source§fn clone(&self) -> TransactionRecord
fn clone(&self) -> TransactionRecord
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 moreAuto Trait Implementations§
impl Freeze for TransactionRecord
impl RefUnwindSafe for TransactionRecord
impl Send for TransactionRecord
impl Sync for TransactionRecord
impl Unpin for TransactionRecord
impl UnwindSafe for TransactionRecord
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.