pub(crate) enum ClientBackend {
Multiplexed {
message_dispatcher: MessageDispatcher,
subscriptions: Arc<Subscriptions>,
send_chan: (Sender<Value>, Receiver<Value>),
},
QuicStream {
quic_conn: Arc<QuicConn>,
subscriptions: Arc<Subscriptions>,
unsub_chans: Mutex<HashMap<SubscriptionID, Sender<Value>>>,
},
Http {
http_backend: Box<HttpClientBackend>,
subscriptions: Arc<Subscriptions>,
},
}Variants§
Multiplexed
One persistent message connection used by many concurrent calls and subscriptions. Each request is tagged with a unique id; the reader task multiplexes responses back to the right caller. Used for TCP, TLS, WS, WSS, and Unix.
QuicStream
Fields
§
subscriptions: Arc<Subscriptions>§
unsub_chans: Mutex<HashMap<SubscriptionID, Sender<Value>>>Per-subscription unsubscribe signal: send the unsubscribe JSON; the reader task forwards it and exits.
Http
Auto Trait Implementations§
impl !Freeze for ClientBackend
impl !RefUnwindSafe for ClientBackend
impl Send for ClientBackend
impl Sync for ClientBackend
impl !Unpin for ClientBackend
impl !UnsafeUnpin for ClientBackend
impl !UnwindSafe for ClientBackend
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more