raft_log::api::types

Trait Types

Source
pub trait Types
where Self: Debug + Default + PartialEq + Eq + Clone + 'static,
{ type LogId: Debug + Clone + Ord + Eq + Codec + Send + Sync + 'static; type LogPayload: Debug + Clone + Codec + Send + Sync + 'static; type Vote: Debug + Clone + PartialOrd + Eq + Codec + 'static; type Callback: Callback + Send + 'static; type UserData: Debug + Clone + Eq + Codec + 'static; // Required methods fn log_index(log_id: &Self::LogId) -> u64; fn payload_size(payload: &Self::LogPayload) -> u64; // Provided method fn next_log_index(log_id: Option<&Self::LogId>) -> u64 { ... } }

Required Associated Types§

Source

type LogId: Debug + Clone + Ord + Eq + Codec + Send + Sync + 'static

Source

type LogPayload: Debug + Clone + Codec + Send + Sync + 'static

Source

type Vote: Debug + Clone + PartialOrd + Eq + Codec + 'static

Source

type Callback: Callback + Send + 'static

Source

type UserData: Debug + Clone + Eq + Codec + 'static

Required Methods§

Source

fn log_index(log_id: &Self::LogId) -> u64

Source

fn payload_size(payload: &Self::LogPayload) -> u64

Provided Methods§

Source

fn next_log_index(log_id: Option<&Self::LogId>) -> u64

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§