Struct raftstore::store::fsm::apply::WaitSourceMergeState[][src]

struct WaitSourceMergeState {
    logs_up_to_date: Arc<AtomicU64>,
}

A struct that stores the state related to Merge.

When executing a CommitMerge, the source peer may have not applied to the required index, so the target peer has to abort current execution and wait for it asynchronously.

When rolling the stack, all states required to recover are stored in this struct. TODO: check whether generator/coroutine is a good choice in this case.

Fields

logs_up_to_date: Arc<AtomicU64>

A flag that indicates whether the source peer has applied to the required index. If the source peer is ready, this flag should be set to the region id of source peer.

Trait Implementations

impl Debug for WaitSourceMergeState[src]

Auto Trait Implementations

impl RefUnwindSafe for WaitSourceMergeState

impl Send for WaitSourceMergeState

impl Sync for WaitSourceMergeState

impl Unpin for WaitSourceMergeState

impl UnwindSafe for WaitSourceMergeState

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<V, W> ConvertFrom<W> for V where
    W: ConvertTo<V>, 
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T[src]

type Init = T

The type for initializers.

impl<T> Pointable for T[src]

type Init = T

The type for initializers.

impl<T> Same<T> for T[src]

type Output = T

Should always be Self

impl<T> Sealed<T> for T where
    T: ?Sized
[src]

impl<T> SendSyncUnwindSafe for T where
    T: Send + Sync + UnwindSafe + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]