Struct openraft::raft::trigger::Trigger

source ·
pub struct Trigger<'r, C>
where C: RaftTypeConfig,
{ /* private fields */ }
Expand description

Trigger is an interface to trigger an action to RaftCore by external caller.

Implementations§

source§

impl<'r, C> Trigger<'r, C>
where C: RaftTypeConfig,

source

pub async fn elect(&self) -> Result<(), Fatal<C::NodeId>>

Trigger election at once and return at once.

Returns error when RaftCore has Fatal error, e.g. shut down or having storage error. It is not affected by Raft::enable_elect(false).

source

pub async fn heartbeat(&self) -> Result<(), Fatal<C::NodeId>>

Trigger a heartbeat at once and return at once.

Returns error when RaftCore has Fatal error, e.g. shut down or having storage error. It is not affected by Raft::enable_heartbeat(false).

source

pub async fn snapshot(&self) -> Result<(), Fatal<C::NodeId>>

Trigger to build a snapshot at once and return at once.

Returns error when RaftCore has Fatal error, e.g. shut down or having storage error.

source

pub async fn purge_log(&self, upto: u64) -> Result<(), Fatal<C::NodeId>>

Initiate the log purge up to and including the given upto log index.

Logs that are not included in a snapshot will NOT be purged. In such scenario it will delete as many log as possible. The max_in_snapshot_log_to_keep config is not taken into account when purging logs.

It returns error only when RaftCore has Fatal error, e.g. shut down or having storage error.

Openraft won’t purge logs at once, e.g. it may be delayed by several seconds, because if it is a leader and a replication task has been replicating the logs to a follower, the logs can’t be purged until the replication task is finished.

Auto Trait Implementations§

§

impl<'r, C> Freeze for Trigger<'r, C>

§

impl<'r, C> !RefUnwindSafe for Trigger<'r, C>

§

impl<'r, C> Send for Trigger<'r, C>

§

impl<'r, C> Sync for Trigger<'r, C>

§

impl<'r, C> Unpin for Trigger<'r, C>

§

impl<'r, C> !UnwindSafe for Trigger<'r, C>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

impl<T> OptionalSend for T
where T: Send + ?Sized,

source§

impl<T> OptionalSync for T
where T: Sync + ?Sized,