ResponseHandler

Trait ResponseHandler 

Source
pub trait ResponseHandler {
    type Response;
    type Query: RpcType;

    // Required method
    fn process_response(
        &self,
        responses: Vec<<Self::Query as RpcType>::Response>,
    ) -> Result<Self::Response, QueryError<<Self::Query as RpcType>::Error>>;

    // Provided method
    fn request_amount(&self) -> usize { ... }
}

Required Associated Types§

Required Methods§

Source

fn process_response( &self, responses: Vec<<Self::Query as RpcType>::Response>, ) -> Result<Self::Response, QueryError<<Self::Query as RpcType>::Error>>

NOTE: responses should always >= 1

Provided Methods§

Implementors§

Source§

impl ResponseHandler for ActiveStakingHandler

Source§

impl ResponseHandler for AccessKeyHandler

Source§

impl ResponseHandler for AccessKeyListHandler

Source§

impl ResponseHandler for AccountViewHandler

Source§

impl ResponseHandler for RpcBlockHandler

Source§

impl ResponseHandler for RpcValidatorHandler

Source§

impl ResponseHandler for ViewCodeHandler

Source§

impl ResponseHandler for ViewStateHandler

Source§

impl<PostProcessed, Handler> ResponseHandler for AndThenHandler<PostProcessed, Handler>
where Handler: ResponseHandler,

Source§

type Response = PostProcessed

Source§

type Query = <Handler as ResponseHandler>::Query

Source§

impl<PostProcessed, Handler> ResponseHandler for PostprocessHandler<PostProcessed, Handler>
where Handler: ResponseHandler,

Source§

type Response = PostProcessed

Source§

type Query = <Handler as ResponseHandler>::Query

Source§

impl<Query, H1, H2, H3, R1, R2, R3> ResponseHandler for MultiQueryHandler<(H1, H2, H3)>
where Query: RpcType, H1: ResponseHandler<Response = R1, Query = Query>, H2: ResponseHandler<Response = R2, Query = Query>, H3: ResponseHandler<Response = R3, Query = Query>,

Source§

impl<Query, H1, H2, R1, R2> ResponseHandler for MultiQueryHandler<(H1, H2)>
where Query: RpcType, H1: ResponseHandler<Response = R1, Query = Query>, H2: ResponseHandler<Response = R2, Query = Query>,

Source§

impl<Response> ResponseHandler for CallResultBorshHandler<Response>
where Response: BorshDeserialize + Send + Sync,

Source§

impl<Response> ResponseHandler for CallResultHandler<Response>
where Response: DeserializeOwned + Send + Sync,

Source§

impl<T: RpcType> ResponseHandler for T