Enum raftstore::store::msg::PeerMsg [−][src]
pub enum PeerMsg<EK: KvEngine> { RaftMessage(RaftMessage), RaftCommand(RaftCommand<EK::Snapshot>), Tick(PeerTicks), ApplyRes { res: ApplyTaskRes<EK::Snapshot>, }, SignificantMsg(SignificantMsg<EK::Snapshot>), Start, Noop, CasualMessage(CasualMessage<EK>), HeartbeatPd, UpdateReplicationMode, }
Message that can be sent to a peer.
Variants
RaftMessage(RaftMessage)
Raft message is the message sent between raft nodes in the same raft group. Messages need to be redirected to raftstore if target peer doesn’t exist.
RaftCommand(RaftCommand<EK::Snapshot>)
Raft command is the command that is expected to be proposed by the leader of the target raft group. If it’s failed to be sent, callback usually needs to be called before dropping in case of resource leak.
Tick(PeerTicks)
Tick is periodical task. If target peer doesn’t exist there is a potential that the raft node will not work anymore.
Result of applying committed entries. The message can’t be lost.
Fields of ApplyRes
res: ApplyTaskRes<EK::Snapshot>
SignificantMsg(SignificantMsg<EK::Snapshot>)
Message that can’t be lost but rarely created. If they are lost, real bad things happen like some peers will be considered dead in the group.
Start the FSM.
A message only used to notify a peer.
CasualMessage(CasualMessage<EK>)
Message that is not important and can be dropped occasionally.
Ask region to report a heartbeat to PD.
Asks region to change replication mode.
Trait Implementations
Auto Trait Implementations
impl<EK> !RefUnwindSafe for PeerMsg<EK>
impl<EK> Send for PeerMsg<EK>
impl<EK> !Sync for PeerMsg<EK>
impl<EK> Unpin for PeerMsg<EK> where
<EK as KvEngine>::Snapshot: Unpin,
<EK as KvEngine>::Snapshot: Unpin,
impl<EK> !UnwindSafe for PeerMsg<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>,