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
.
Read
: a callback for read only requests includingStatusRequest
,GetRequest
andSnapRequest
Write
: a callback for write only requests includingAdminRequest
PutRequest
,DeleteRequest
andDeleteRangeRequest
.
Variants
No callback.
Read(ReadCallback<S>)
Read callback.
Write callback.
Fields of Write
cb: WriteCallback
proposed_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][−]
S: Snapshot,
pub fn write(cb: WriteCallback) -> Self
[src]
pub fn write_ext(
cb: WriteCallback,
proposed_cb: Option<ExtCallback>,
committed_cb: Option<ExtCallback>
) -> Self
[src]
cb: WriteCallback,
proposed_cb: Option<ExtCallback>,
committed_cb: Option<ExtCallback>
) -> Self
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
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][+]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<V, W> ConvertFrom<W> for V where
W: ConvertTo<V>,
[src][+]
W: ConvertTo<V>,
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][+]
U: From<T>,
impl<T> Pointable for T
[src][+]
impl<T> Pointable for T
[src][+]
impl<T> Same<T> for T
[src]
type Output = T
Should always be Self
impl<T> Sealed<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src][+]
U: Into<T>,
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src][+]
U: TryFrom<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
[src][+]
V: MultiLane<T>,