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,
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,
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
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,
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,
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
.