Enum raftstore::store::msg::Callback[][src]

pub enum Callback<S: Snapshot> {
    None,
    Read(ReadCallback<S>),
    Write {
        cb: WriteCallback,
        proposed_cb: Option<ExtCallback>,
        committed_cb: Option<ExtCallback>,
    },
}

Variants of callbacks for Msg.

Variants

None

No callback.

Read(ReadCallback<S>)

Read callback.

Write

Write callback.

Fields of Write

cb: WriteCallbackproposed_cb: Option<ExtCallback>

proposed_cb is called after a request is proposed to the raft group successfully. It’s used to notify the caller to move on early because it’s very likely the request will be applied to the raftstore.

committed_cb: Option<ExtCallback>

committed_cb is called after a request is committed and before it’s being applied, and it’s guaranteed that the request will be successfully applied soon.

Implementations

impl<S> Callback<S> where
    S: Snapshot
[src]

pub fn write(cb: WriteCallback) -> Self[src]

pub fn write_ext(
    cb: WriteCallback,
    proposed_cb: Option<ExtCallback>,
    committed_cb: Option<ExtCallback>
) -> Self
[src]

pub fn invoke_with_response(self, resp: RaftCmdResponse)[src]

pub fn invoke_proposed(&mut self)[src]

pub fn invoke_committed(&mut self)[src]

pub fn invoke_read(self, args: ReadResponse<S>)[src]

pub fn is_none(&self) -> bool[src]

Trait Implementations

impl<S> Debug for Callback<S> where
    S: Snapshot
[src]

Auto Trait Implementations

impl<S> !RefUnwindSafe for Callback<S>

impl<S> Send for Callback<S>

impl<S> !Sync for Callback<S>

impl<S> Unpin for Callback<S>

impl<S> !UnwindSafe for Callback<S>

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, 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]