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
Fields of DestroyRegion
region: Region
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][+]
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> SendSyncUnwindSafe for T where
T: Send + Sync + UnwindSafe + ?Sized,
[src]
T: Send + Sync + UnwindSafe + ?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>,