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.

ApplyRes

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

Start the FSM.

Noop

A message only used to notify a peer.

CasualMessage(CasualMessage<EK>)

Message that is not important and can be dropped occasionally.

HeartbeatPd

Ask region to report a heartbeat to PD.

UpdateReplicationMode

Asks region to change replication mode.

Trait Implementations

impl<EK: KvEngine> Debug for PeerMsg<EK>[src]

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

impl<EK> !UnwindSafe for PeerMsg<EK>

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]