pub trait ValidatorWorker: Send + Sync + 'static {
    // Required methods
    fn handle_block_proposal<'life0, 'async_trait>(
        &'life0 self,
        request: Request<BlockProposal>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<ChainInfoResult>, Status>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn handle_lite_certificate<'life0, 'async_trait>(
        &'life0 self,
        request: Request<LiteCertificate>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<ChainInfoResult>, Status>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn handle_confirmed_certificate<'life0, 'async_trait>(
        &'life0 self,
        request: Request<HandleConfirmedCertificateRequest>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<ChainInfoResult>, Status>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn handle_validated_certificate<'life0, 'async_trait>(
        &'life0 self,
        request: Request<HandleValidatedCertificateRequest>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<ChainInfoResult>, Status>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn handle_timeout_certificate<'life0, 'async_trait>(
        &'life0 self,
        request: Request<HandleTimeoutCertificateRequest>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<ChainInfoResult>, Status>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn handle_chain_info_query<'life0, 'async_trait>(
        &'life0 self,
        request: Request<ChainInfoQuery>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<ChainInfoResult>, Status>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn download_pending_blob<'life0, 'async_trait>(
        &'life0 self,
        request: Request<PendingBlobRequest>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<PendingBlobResult>, Status>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn handle_pending_blob<'life0, 'async_trait>(
        &'life0 self,
        request: Request<HandlePendingBlobRequest>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<ChainInfoResult>, Status>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn handle_cross_chain_request<'life0, 'async_trait>(
        &'life0 self,
        request: Request<CrossChainRequest>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}
Expand description

Generated trait containing gRPC methods that should be implemented for use with ValidatorWorkerServer.

Required Methods§

source

fn handle_block_proposal<'life0, 'async_trait>( &'life0 self, request: Request<BlockProposal>, ) -> Pin<Box<dyn Future<Output = Result<Response<ChainInfoResult>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Propose a new block.

source

fn handle_lite_certificate<'life0, 'async_trait>( &'life0 self, request: Request<LiteCertificate>, ) -> Pin<Box<dyn Future<Output = Result<Response<ChainInfoResult>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Process a certificate without value.

source

fn handle_confirmed_certificate<'life0, 'async_trait>( &'life0 self, request: Request<HandleConfirmedCertificateRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<ChainInfoResult>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

source

fn handle_validated_certificate<'life0, 'async_trait>( &'life0 self, request: Request<HandleValidatedCertificateRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<ChainInfoResult>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

source

fn handle_timeout_certificate<'life0, 'async_trait>( &'life0 self, request: Request<HandleTimeoutCertificateRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<ChainInfoResult>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

source

fn handle_chain_info_query<'life0, 'async_trait>( &'life0 self, request: Request<ChainInfoQuery>, ) -> Pin<Box<dyn Future<Output = Result<Response<ChainInfoResult>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Handle information queries for this chain.

source

fn download_pending_blob<'life0, 'async_trait>( &'life0 self, request: Request<PendingBlobRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<PendingBlobResult>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Download a blob that belongs to a pending block on the given chain.

source

fn handle_pending_blob<'life0, 'async_trait>( &'life0 self, request: Request<HandlePendingBlobRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<ChainInfoResult>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Handle a blob that belongs to a pending block on the given chain.

source

fn handle_cross_chain_request<'life0, 'async_trait>( &'life0 self, request: Request<CrossChainRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Handle a (trusted!) cross-chain request.

Implementors§

source§

impl<S> ValidatorWorker for GrpcServer<S>
where S: Storage + Clone + Send + Sync + 'static,