pub trait SubscriptionClientT: ClientT {
    // Required methods
    fn subscribe<'a, 'life0, 'async_trait, Notif, Params>(
        &'life0 self,
        subscribe_method: &'a str,
        params: Params,
        unsubscribe_method: &'a str
    ) -> Pin<Box<dyn Future<Output = Result<Subscription<Notif>, Error>> + Send + 'async_trait, Global>>
       where 'a: 'async_trait,
             'life0: 'async_trait,
             Params: ToRpcParams + Send + 'async_trait,
             Notif: DeserializeOwned + 'async_trait,
             Self: 'async_trait;
    fn subscribe_to_method<'a, 'life0, 'async_trait, Notif>(
        &'life0 self,
        method: &'a str
    ) -> Pin<Box<dyn Future<Output = Result<Subscription<Notif>, Error>> + Send + 'async_trait, Global>>
       where 'a: 'async_trait,
             'life0: 'async_trait,
             Notif: DeserializeOwned + 'async_trait,
             Self: 'async_trait;
}
Expand description

JSON-RPC client interface that can make requests, notifications and subscriptions.

Required Methods§

fn subscribe<'a, 'life0, 'async_trait, Notif, Params>( &'life0 self, subscribe_method: &'a str, params: Params, unsubscribe_method: &'a str ) -> Pin<Box<dyn Future<Output = Result<Subscription<Notif>, Error>> + Send + 'async_trait, Global>>where 'a: 'async_trait, 'life0: 'async_trait, Params: ToRpcParams + Send + 'async_trait, Notif: DeserializeOwned + 'async_trait, Self: 'async_trait,

Initiate a subscription by performing a JSON-RPC method call where the server responds with a Subscription ID that is used to fetch messages on that subscription,

The subscribe_method and params are used to ask for the subscription towards the server.

The params may be used as input for the subscription for the server to process.

The unsubscribe_method is used to close the subscription

The Notif param is a generic type to receive generic subscriptions, see Subscription for further documentation.

fn subscribe_to_method<'a, 'life0, 'async_trait, Notif>( &'life0 self, method: &'a str ) -> Pin<Box<dyn Future<Output = Result<Subscription<Notif>, Error>> + Send + 'async_trait, Global>>where 'a: 'async_trait, 'life0: 'async_trait, Notif: DeserializeOwned + 'async_trait, Self: 'async_trait,

Register a method subscription, this is used to filter only server notifications that a user is interested in.

The Notif param is a generic type to receive generic subscriptions, see Subscription for further documentation.

Implementations on Foreign Types§

§

impl SubscriptionClientT for HttpClient

§

fn subscribe<'a, 'life0, 'async_trait, N, Params>( &'life0 self, _subscribe_method: &'a str, _params: Params, _unsubscribe_method: &'a str ) -> Pin<Box<dyn Future<Output = Result<Subscription<N>, Error>> + Send + 'async_trait, Global>>where 'a: 'async_trait, 'life0: 'async_trait, Params: ToRpcParams + Send + 'async_trait, N: DeserializeOwned + 'async_trait, HttpClient: 'async_trait,

Send a subscription request to the server. Not implemented for HTTP; will always return Error::HttpNotImplemented.

§

fn subscribe_to_method<'a, 'life0, 'async_trait, N>( &'life0 self, _method: &'a str ) -> Pin<Box<dyn Future<Output = Result<Subscription<N>, Error>> + Send + 'async_trait, Global>>where 'a: 'async_trait, 'life0: 'async_trait, N: DeserializeOwned + 'async_trait, HttpClient: 'async_trait,

Subscribe to a specific method. Not implemented for HTTP; will always return Error::HttpNotImplemented.

Implementors§