From f342f31b42a13a61666f886ce0d7f2100d08e618 Mon Sep 17 00:00:00 2001 From: Niklas Adolfsson Date: Tue, 21 Nov 2023 13:31:10 +0100 Subject: [PATCH] impl RpcClientT for Arc and Box (#1277) * impl RpcClientT for Arc * fix grumbles: impl for Box and Arc * grumbles: move RpcClientT impls --- subxt/src/backend/rpc/rpc_client_t.rs | 38 +++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/subxt/src/backend/rpc/rpc_client_t.rs b/subxt/src/backend/rpc/rpc_client_t.rs index 49ca84cab4..98d349d17c 100644 --- a/subxt/src/backend/rpc/rpc_client_t.rs +++ b/subxt/src/backend/rpc/rpc_client_t.rs @@ -63,3 +63,41 @@ pub struct RawRpcSubscription { /// The ID associated with the subscription. pub id: Option, } + +impl RpcClientT for std::sync::Arc { + fn request_raw<'a>( + &'a self, + method: &'a str, + params: Option>, + ) -> RawRpcFuture<'a, Box> { + (**self).request_raw(method, params) + } + + fn subscribe_raw<'a>( + &'a self, + sub: &'a str, + params: Option>, + unsub: &'a str, + ) -> RawRpcFuture<'a, RawRpcSubscription> { + (**self).subscribe_raw(sub, params, unsub) + } +} + +impl RpcClientT for Box { + fn request_raw<'a>( + &'a self, + method: &'a str, + params: Option>, + ) -> RawRpcFuture<'a, Box> { + (**self).request_raw(method, params) + } + + fn subscribe_raw<'a>( + &'a self, + sub: &'a str, + params: Option>, + unsub: &'a str, + ) -> RawRpcFuture<'a, RawRpcSubscription> { + (**self).subscribe_raw(sub, params, unsub) + } +}