reth::rpc::api::servers::eth::pubsub

Trait EthPubSubApiServer

pub trait EthPubSubApiServer<T>:
    Sized
    + Send
    + Sync
    + 'static
where T: RpcObject,
{ // Required method fn subscribe<'life0, 'async_trait>( &'life0 self, subscription_sink: PendingSubscriptionSink, kind: SubscriptionKind, params: Option<Params>, ) -> Pin<Box<dyn Future<Output = Result<(), StringError>> + Send + 'async_trait>> where 'life0: 'async_trait, Self: 'async_trait; // Provided method fn into_rpc(self) -> RpcModule<Self> where T: Send + Sync + 'static { ... } }
Expand description

Server trait implementation for the EthPubSubApi RPC API.

Required Methods§

fn subscribe<'life0, 'async_trait>( &'life0 self, subscription_sink: PendingSubscriptionSink, kind: SubscriptionKind, params: Option<Params>, ) -> Pin<Box<dyn Future<Output = Result<(), StringError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: 'async_trait,

Create an ethereum subscription for the given params

Provided Methods§

fn into_rpc(self) -> RpcModule<Self>
where T: Send + Sync + 'static,

Collects all the methods and subscriptions defined in the trait and adds them into a single RpcModule.

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.

Implementors§

Source§

impl<Provider, Pool, Events, Network, Eth> EthPubSubApiServer<<Eth as TransactionCompat>::Transaction> for EthPubSub<Provider, Pool, Events, Network, Eth>
where Provider: BlockReader + EvmEnvProvider + Clone + 'static, Pool: TransactionPool + 'static, Events: CanonStateSubscriptions + Clone + 'static, Network: NetworkInfo + Clone + 'static, Eth: TransactionCompat + 'static,