Trait InvariantService

Source
pub trait InvariantService: Service {
    type ClusterInvariantsState<'a>: 'a + DerefMut<Target = InvariantsState>
       where Self: 'a;

    // Required method
    fn invariants_state(&mut self) -> &mut InvariantsState;

    // Provided methods
    fn node_id(&self) -> usize { ... }
    fn cluster_invariants_state<'a>(
        &'a mut self,
    ) -> Option<Self::ClusterInvariantsState<'a>>
       where Self: 'a { ... }
}

Required Associated Types§

Source

type ClusterInvariantsState<'a>: 'a + DerefMut<Target = InvariantsState> where Self: 'a

Required Methods§

Provided Methods§

Source

fn node_id(&self) -> usize

Source

fn cluster_invariants_state<'a>( &'a mut self, ) -> Option<Self::ClusterInvariantsState<'a>>
where Self: 'a,

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§