pub trait Validator<B: BlockT>: Send + Sync {
    fn validate(
        &self,
        context: &mut dyn ValidatorContext<B>,
        sender: &PeerId,
        data: &[u8]
    ) -> ValidationResult<B::Hash>; fn new_peer(
        &self,
        _context: &mut dyn ValidatorContext<B>,
        _who: &PeerId,
        _role: ObservedRole
    ) { ... }
fn peer_disconnected(
        &self,
        _context: &mut dyn ValidatorContext<B>,
        _who: &PeerId
    ) { ... }
fn message_expired<'a>(
        &'a self
    ) -> Box<dyn FnMut(B::Hash, &[u8]) -> bool + 'a>Notable traits for Box<R, Global>impl<R> Read for Box<R, Global> where
    R: Read + ?Sized
impl<W> Write for Box<W, Global> where
    W: Write + ?Sized
impl<I, A> Iterator for Box<I, A> where
    I: Iterator + ?Sized,
    A: Allocator
type Item = <I as Iterator>::Item;impl<F, A> Future for Box<F, A> where
    F: Future + Unpin + ?Sized,
    A: Allocator + 'static, 
type Output = <F as Future>::Output;
{ ... }
fn message_allowed<'a>(
        &'a self
    ) -> Box<dyn FnMut(&PeerId, MessageIntent, &B::Hash, &[u8]) -> bool + 'a>Notable traits for Box<R, Global>impl<R> Read for Box<R, Global> where
    R: Read + ?Sized
impl<W> Write for Box<W, Global> where
    W: Write + ?Sized
impl<I, A> Iterator for Box<I, A> where
    I: Iterator + ?Sized,
    A: Allocator
type Item = <I as Iterator>::Item;impl<F, A> Future for Box<F, A> where
    F: Future + Unpin + ?Sized,
    A: Allocator + 'static, 
type Output = <F as Future>::Output;
{ ... } }
Expand description

Validates consensus messages.

Required methods

Validate consensus message.

Provided methods

New peer is connected.

New connection is dropped.

Produce a closure for validating messages on a given topic.

Produce a closure for filtering egress messages.

Implementors