Trait paxakos::leadership::ensure::Config
source · pub trait Config {
type Node: Node;
type Applicable: ApplicableTo<StateOf<Self::Node>> + 'static;
type RetryPolicy: RetryPolicy<Invocation = InvocationOf<Self::Node>, Error = AppendError<InvocationOf<Self::Node>>, StaticError = AppendError<InvocationOf<Self::Node>>>;
fn new_leadership_taker(&self) -> Self::Applicable;
fn retry_policy(&self) -> Self::RetryPolicy;
fn init(&mut self, node: &Self::Node) { ... }
fn update(&mut self, event: &EventFor<Self::Node>) { ... }
fn interval(&self) -> Option<Duration> { ... }
}
Expand description
Ensure leadership configuration.
Required Associated Types
sourcetype Applicable: ApplicableTo<StateOf<Self::Node>> + 'static
type Applicable: ApplicableTo<StateOf<Self::Node>> + 'static
The applicable that is used to take leadership, usually a no-op.
sourcetype RetryPolicy: RetryPolicy<Invocation = InvocationOf<Self::Node>, Error = AppendError<InvocationOf<Self::Node>>, StaticError = AppendError<InvocationOf<Self::Node>>>
type RetryPolicy: RetryPolicy<Invocation = InvocationOf<Self::Node>, Error = AppendError<InvocationOf<Self::Node>>, StaticError = AppendError<InvocationOf<Self::Node>>>
Type of retry policy to be used.
See retry_policy
.
Required Methods
sourcefn new_leadership_taker(&self) -> Self::Applicable
fn new_leadership_taker(&self) -> Self::Applicable
Creates a new value to take leadership.
sourcefn retry_policy(&self) -> Self::RetryPolicy
fn retry_policy(&self) -> Self::RetryPolicy
Creates a retry policy.