linera_rpc::grpc::api::validator_node_server

Trait ValidatorNode

Source
pub trait ValidatorNode:
    Send
    + Sync
    + 'static {
    type SubscribeStream: Stream<Item = Result<Notification, Status>> + Send + '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_certificate<'life0, 'async_trait>(
        &'life0 self,
        request: Request<HandleCertificateRequest>,
    ) -> 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 subscribe<'life0, 'async_trait>(
        &'life0 self,
        request: Request<SubscriptionRequest>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<Self::SubscribeStream>, Status>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn get_version_info<'life0, 'async_trait>(
        &'life0 self,
        request: Request<()>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<VersionInfo>, Status>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn get_genesis_config_hash<'life0, 'async_trait>(
        &'life0 self,
        request: Request<()>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<CryptoHash>, Status>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn download_blob_content<'life0, 'async_trait>(
        &'life0 self,
        request: Request<BlobId>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<BlobContent>, Status>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn download_certificate_value<'life0, 'async_trait>(
        &'life0 self,
        request: Request<CryptoHash>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<CertificateValue>, Status>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn download_certificate<'life0, 'async_trait>(
        &'life0 self,
        request: Request<CryptoHash>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<Certificate>, Status>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn download_certificates<'life0, 'async_trait>(
        &'life0 self,
        request: Request<CertificatesBatchRequest>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<CertificatesBatchResponse>, Status>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn blob_last_used_by<'life0, 'async_trait>(
        &'life0 self,
        request: Request<BlobId>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<CryptoHash>, 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 ValidatorNodeServer.

Required Associated Types§

Source

type SubscribeStream: Stream<Item = Result<Notification, Status>> + Send + 'static

Server streaming response type for the Subscribe method.

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_certificate<'life0, 'async_trait>( &'life0 self, request: Request<HandleCertificateRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<ChainInfoResult>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Process a certificate.

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 subscribe<'life0, 'async_trait>( &'life0 self, request: Request<SubscriptionRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<Self::SubscribeStream>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Subscribe to notifications for a set of Chain Ids.

Source

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

Request the node’s version info.

Source

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

Request the genesis configuration hash of the network this node is part of.

Source

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

Downloads a blob content.

Source

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

Downloads a certificate value.

Source

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

Downloads a certificate.

Source

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

Downloads a batch of certificates.

Source

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

Returns the hash of the Certificate that last used a blob.

Implementors§