Trait SubscriptionClientT
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>>
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>>
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>>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>>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>>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>>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.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementations on Foreign Types§
§impl<B, S> SubscriptionClientT for HttpClient<S>
impl<B, S> SubscriptionClientT for HttpClient<S>
§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>>where
'a: 'async_trait,
'life0: 'async_trait,
Params: ToRpcParams + Send + 'async_trait,
N: DeserializeOwned + 'async_trait,
HttpClient<S>: '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>>where
'a: 'async_trait,
'life0: 'async_trait,
Params: ToRpcParams + Send + 'async_trait,
N: DeserializeOwned + 'async_trait,
HttpClient<S>: '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>>where
'a: 'async_trait,
'life0: 'async_trait,
N: DeserializeOwned + 'async_trait,
HttpClient<S>: '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>>where
'a: 'async_trait,
'life0: 'async_trait,
N: DeserializeOwned + 'async_trait,
HttpClient<S>: 'async_trait,
Subscribe to a specific method. Not implemented for HTTP; will always return Error::HttpNotImplemented
.