pub struct Client { /* private fields */ }
Expand description
Generic asynchronous client.
Implementations§
source§impl Client
impl Client
sourcepub fn builder() -> ClientBuilder
pub fn builder() -> ClientBuilder
Create a builder for the server.
sourcepub fn is_connected(&self) -> bool
pub fn is_connected(&self) -> bool
Checks if the client is connected to the target.
sourcepub async fn disconnect_reason(&self) -> Error
pub async fn disconnect_reason(&self) -> Error
This is similar to Client::on_disconnect
but it can be used to get
the reason why the client was disconnected but it’s not cancel-safe.
The typical use-case is that this method will be called after
Client::on_disconnect
has returned in a “select loop”.
§Cancel-safety
This method is cancel-safe
sourcepub async fn on_disconnect(&self)
pub async fn on_disconnect(&self)
Completes when the client is disconnected or the client’s background task encountered an error. If the client is already disconnected, the future produced by this method will complete immediately.
§Cancel safety
This method is cancel safe.
Trait Implementations§
source§impl ClientT for Client
impl ClientT for Client
source§fn notification<'life0, 'life1, 'async_trait, Params>(
&'life0 self,
method: &'life1 str,
params: Params,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Params: ToRpcParams + Send + 'async_trait,
Client: 'async_trait,
fn notification<'life0, 'life1, 'async_trait, Params>(
&'life0 self,
method: &'life1 str,
params: Params,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Params: ToRpcParams + Send + 'async_trait,
Client: 'async_trait,
source§fn request<'life0, 'life1, 'async_trait, R, Params>(
&'life0 self,
method: &'life1 str,
params: Params,
) -> Pin<Box<dyn Future<Output = Result<R, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
R: DeserializeOwned + 'async_trait,
Params: ToRpcParams + Send + 'async_trait,
Client: 'async_trait,
fn request<'life0, 'life1, 'async_trait, R, Params>(
&'life0 self,
method: &'life1 str,
params: Params,
) -> Pin<Box<dyn Future<Output = Result<R, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
R: DeserializeOwned + 'async_trait,
Params: ToRpcParams + Send + 'async_trait,
Client: 'async_trait,
source§fn batch_request<'a, 'life0, 'async_trait, R>(
&'life0 self,
batch: BatchRequestBuilder<'a>,
) -> Pin<Box<dyn Future<Output = Result<BatchResponse<'a, R>, Error>> + Send + 'async_trait>>where
'a: 'async_trait,
'life0: 'async_trait,
R: DeserializeOwned + 'async_trait,
Client: 'async_trait,
fn batch_request<'a, 'life0, 'async_trait, R>(
&'life0 self,
batch: BatchRequestBuilder<'a>,
) -> Pin<Box<dyn Future<Output = Result<BatchResponse<'a, R>, Error>> + Send + 'async_trait>>where
'a: 'async_trait,
'life0: 'async_trait,
R: DeserializeOwned + 'async_trait,
Client: 'async_trait,
source§impl SubscriptionClientT for Client
impl SubscriptionClientT for Client
source§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,
Client: '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,
Client: 'async_trait,
Send a subscription request to the server.
The subscribe_method
and params
are used to ask for the subscription towards the
server. The unsubscribe_method
is used to close the subscription.
source§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,
Client: '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,
Client: 'async_trait,
Subscribe to a specific method.