alloy_pubsub/
ix.rs

1use crate::{managers::InFlight, RawSubscription};
2use alloy_primitives::B256;
3use std::fmt;
4use tokio::sync::oneshot;
5
6/// Instructions for the pubsub service.
7pub enum PubSubInstruction {
8    /// Send a request.
9    Request(InFlight),
10    /// Get the subscription ID for a local ID.
11    GetSub(B256, oneshot::Sender<RawSubscription>),
12    /// Unsubscribe from a subscription.
13    Unsubscribe(B256),
14}
15
16impl fmt::Debug for PubSubInstruction {
17    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
18        match self {
19            Self::Request(arg0) => f.debug_tuple("Request").field(arg0).finish(),
20            Self::GetSub(arg0, _) => f.debug_tuple("GetSub").field(arg0).finish(),
21            Self::Unsubscribe(arg0) => f.debug_tuple("Unsubscribe").field(arg0).finish(),
22        }
23    }
24}