Enum raftstore::coprocessor::region_info_accessor::RaftStoreEvent[][src]

pub enum RaftStoreEvent {
    CreateRegion {
        region: Region,
        role: StateRole,
    },
    UpdateRegion {
        region: Region,
        role: StateRole,
    },
    DestroyRegion {
        region: Region,
    },
    RoleChange {
        region: Region,
        role: StateRole,
    },
}

RegionInfoAccessor is used to collect all regions’ information on this TiKV into a collection so that other parts of TiKV can get region information from it. It registers a observer to raftstore, which is named RegionEventListener. When the events that we are interested in happen (such as creating and deleting regions), RegionEventListener simply sends the events through a channel. In the mean time, RegionCollector keeps fetching messages from the channel, and mutates the collection according to the messages. When an accessor method of RegionInfoAccessor is called, it also simply sends a message to RegionCollector, and the result will be sent back through as soon as it’s finished. In fact, the channel mentioned above is actually a util::worker::Worker.

Caution: Note that the information in RegionInfoAccessor is not perfectly precise. Some regions may be temporarily absent while merging or splitting is in progress. Also, RegionInfoAccessor’s information may slightly lag the actual regions on the TiKV. RaftStoreEvent Represents events dispatched from raftstore coprocessor.

Variants

CreateRegion

Fields of CreateRegion

region: Regionrole: StateRole
UpdateRegion

Fields of UpdateRegion

region: Regionrole: StateRole
DestroyRegion

Fields of DestroyRegion

region: Region
RoleChange

Fields of RoleChange

region: Regionrole: StateRole

Implementations

impl RaftStoreEvent[src]

pub fn get_region(&self) -> &Region[src]

Trait Implementations

impl Debug for RaftStoreEvent[src]

Auto Trait Implementations

impl RefUnwindSafe for RaftStoreEvent

impl Send for RaftStoreEvent

impl Sync for RaftStoreEvent

impl Unpin for RaftStoreEvent

impl UnwindSafe for RaftStoreEvent

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> SendSyncUnwindSafe for T where
    T: Send + Sync + UnwindSafe + ?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]