Trait web3::DuplexTransport

source ·
pub trait DuplexTransport: Transport {
    type NotificationStream: Stream<Item = Value>;

    // Required methods
    fn subscribe(&self, id: SubscriptionId) -> Result<Self::NotificationStream>;
    fn unsubscribe(&self, id: SubscriptionId) -> Result<()>;
}
Expand description

A transport implementation supporting pub sub subscriptions.

Required Associated Types§

source

type NotificationStream: Stream<Item = Value>

The type of stream this transport returns

Required Methods§

source

fn subscribe(&self, id: SubscriptionId) -> Result<Self::NotificationStream>

Add a subscription to this transport

source

fn unsubscribe(&self, id: SubscriptionId) -> Result<()>

Remove a subscription from this transport

Implementors§

source§

impl DuplexTransport for Ipc

source§

impl DuplexTransport for WebSocket

§

type NotificationStream = UnboundedReceiver<Value>

source§

impl<A, B, AStream, BStream> DuplexTransport for Either<A, B>where A: DuplexTransport<NotificationStream = AStream>, B: DuplexTransport<NotificationStream = BStream>, A::Out: 'static + Send, B::Out: 'static + Send, AStream: Stream<Item = Value> + 'static + Send, BStream: Stream<Item = Value> + 'static + Send,

§

type NotificationStream = Pin<Box<dyn Stream<Item = Value> + Send, Global>>

source§

impl<X, T> DuplexTransport for Xwhere T: DuplexTransport + ?Sized, X: Deref<Target = T> + Debug + Clone,