Service

Trait Service 

Source
pub trait Service<Payload, Signal = (), RaftEntry = ()>: Sized
where Payload: DeserializeOwned + Send + Clone + 'static + Debug, Signal: Send + 'static, RaftEntry: Clone + DeserializeOwned + Send + 'static + Debug,
{ // Required methods fn create( network: &mut Network, sender: Sender<Event<Payload, Signal, RaftEntry>>, ) -> Self; fn step( &mut self, input: Event<Payload, Signal, RaftEntry>, network: &mut Network, ) -> Result<()>; // Provided method fn run() -> Result<()> { ... } }

Required Methods§

Source

fn create( network: &mut Network, sender: Sender<Event<Payload, Signal, RaftEntry>>, ) -> Self

Source

fn step( &mut self, input: Event<Payload, Signal, RaftEntry>, network: &mut Network, ) -> Result<()>

Provided Methods§

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§