ExchangeWsStream

Type Alias ExchangeWsStream 

Source
pub type ExchangeWsStream<Transformer> = ExchangeStream<WebSocketParser, WsStream, Transformer>;
Expand description

Convenient type alias for an ExchangeStream utilising a tungstenite WebSocket.

Aliased Type§

pub struct ExchangeWsStream<Transformer> {
    pub stream: SplitStream<WebSocketStream<MaybeTlsStream<TcpStream>>>,
    pub transformer: Transformer,
    pub buffer: VecDeque<Result<<Transformer as Transformer>::Output, <Transformer as Transformer>::Error>>,
    pub protocol_marker: PhantomData<WebSocketParser>,
}

Fields§

§stream: SplitStream<WebSocketStream<MaybeTlsStream<TcpStream>>>§transformer: Transformer§buffer: VecDeque<Result<<Transformer as Transformer>::Output, <Transformer as Transformer>::Error>>§protocol_marker: PhantomData<WebSocketParser>

Trait Implementations§

Source§

impl<Exchange, Instrument, Kind, Transformer> MarketStream<Exchange, Instrument, Kind> for ExchangeWsStream<Transformer>
where Exchange: Connector + Send + Sync, Instrument: InstrumentData, Kind: SubscriptionKind + Send + Sync, Transformer: ExchangeTransformer<Exchange, Instrument::Key, Kind> + Send, Kind::Event: Send,

Source§

fn init<'life0, 'async_trait, SnapFetcher>( subscriptions: &'life0 [Subscription<Exchange, Instrument, Kind>], ) -> Pin<Box<dyn Future<Output = Result<Self, DataError>> + Send + 'async_trait>>
where SnapFetcher: SnapshotFetcher<Exchange, Kind> + 'async_trait, Subscription<Exchange, Instrument, Kind>: Identifier<Exchange::Channel> + Identifier<Exchange::Market>, Self: 'async_trait, 'life0: 'async_trait,