Struct raftstore::store::fsm::apply::ApplyFsm [−][src]
Fields
delegate: ApplyDelegate<EK>
receiver: Receiver<Msg<EK>>
mailbox: Option<BasicMailbox<ApplyFsm<EK>>>
Implementations
impl<EK> ApplyFsm<EK> where
EK: KvEngine,
[src][−]
EK: KvEngine,
fn from_peer<ER: RaftEngine>(
peer: &Peer<EK, ER>
) -> (LooseBoundedSender<Msg<EK>>, Box<ApplyFsm<EK>>)
[src]
peer: &Peer<EK, ER>
) -> (LooseBoundedSender<Msg<EK>>, Box<ApplyFsm<EK>>)
fn from_registration(
reg: Registration
) -> (LooseBoundedSender<Msg<EK>>, Box<ApplyFsm<EK>>)
[src]
reg: Registration
) -> (LooseBoundedSender<Msg<EK>>, Box<ApplyFsm<EK>>)
fn handle_registration(&mut self, reg: Registration)
[src][−]
Handles peer registration. When a peer is created, it will register an apply delegate.
fn handle_apply<W: WriteBatch<EK>>(
&mut self,
apply_ctx: &mut ApplyContext<EK, W>,
apply: Apply<EK::Snapshot>
)
[src][−]
&mut self,
apply_ctx: &mut ApplyContext<EK, W>,
apply: Apply<EK::Snapshot>
)
Handles apply tasks, and uses the apply delegate to handle the committed entries.
fn append_proposal(&mut self, props_drainer: Drain<'_, Proposal<EK::Snapshot>>)
[src][−]
Handles proposals, and appends the commands to the apply delegate.
fn destroy<W: WriteBatch<EK>>(&mut self, ctx: &mut ApplyContext<EK, W>)
[src]
fn handle_destroy<W: WriteBatch<EK>>(
&mut self,
ctx: &mut ApplyContext<EK, W>,
d: Destroy
)
[src][−]
&mut self,
ctx: &mut ApplyContext<EK, W>,
d: Destroy
)
Handles peer destroy. When a peer is destroyed, the corresponding apply delegate should be removed too.
fn resume_pending<W: WriteBatch<EK>>(&mut self, ctx: &mut ApplyContext<EK, W>)
[src]
fn logs_up_to_date_for_merge<W: WriteBatch<EK>>(
&mut self,
ctx: &mut ApplyContext<EK, W>,
catch_up_logs: CatchUpLogs
)
[src]
&mut self,
ctx: &mut ApplyContext<EK, W>,
catch_up_logs: CatchUpLogs
)
fn handle_snapshot<W: WriteBatch<EK>>(
&mut self,
apply_ctx: &mut ApplyContext<EK, W>,
snap_task: GenSnapTask
)
[src]
&mut self,
apply_ctx: &mut ApplyContext<EK, W>,
snap_task: GenSnapTask
)
fn handle_change<W: WriteBatch<EK>>(
&mut self,
apply_ctx: &mut ApplyContext<EK, W>,
cmd: ChangeObserver,
region_epoch: RegionEpoch,
cb: Callback<EK::Snapshot>
)
[src]
&mut self,
apply_ctx: &mut ApplyContext<EK, W>,
cmd: ChangeObserver,
region_epoch: RegionEpoch,
cb: Callback<EK::Snapshot>
)
fn handle_tasks<W: WriteBatch<EK>>(
&mut self,
apply_ctx: &mut ApplyContext<EK, W>,
msgs: &mut Vec<Msg<EK>>
)
[src]
&mut self,
apply_ctx: &mut ApplyContext<EK, W>,
msgs: &mut Vec<Msg<EK>>
)
Trait Implementations
impl<EK> Drop for ApplyFsm<EK> where
EK: KvEngine,
[src][+]
EK: KvEngine,
impl<EK> Fsm for ApplyFsm<EK> where
EK: KvEngine,
[src][+]
EK: KvEngine,
impl<EK, W> HandlerBuilder<ApplyFsm<EK>, ControlFsm> for Builder<EK, W> where
EK: KvEngine,
W: WriteBatch<EK>,
[src][+]
EK: KvEngine,
W: WriteBatch<EK>,
impl<EK, W> PollHandler<ApplyFsm<EK>, ControlFsm> for ApplyPoller<EK, W> where
EK: KvEngine,
W: WriteBatch<EK>,
[src][+]
EK: KvEngine,
W: WriteBatch<EK>,
Auto Trait Implementations
impl<EK> !RefUnwindSafe for ApplyFsm<EK>
impl<EK> Send for ApplyFsm<EK>
impl<EK> !Sync for ApplyFsm<EK>
impl<EK> Unpin for ApplyFsm<EK>
impl<EK> !UnwindSafe for ApplyFsm<EK>
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>,