Struct barter_data::builder::StreamBuilder
source · pub struct StreamBuilder {
pub exchange_subscriptions: HashMap<ExchangeId, Vec<Subscription>>,
}Expand description
Builder to configure and initialise Streams instances.
Fields§
§exchange_subscriptions: HashMap<ExchangeId, Vec<Subscription>>Implementations§
source§impl StreamBuilder
impl StreamBuilder
sourcepub fn subscribe<SubIter, Sub>(self, subscriptions: SubIter) -> Selfwhere
SubIter: IntoIterator<Item = Sub>,
Sub: Into<Subscription>,
pub fn subscribe<SubIter, Sub>(self, subscriptions: SubIter) -> Selfwhere
SubIter: IntoIterator<Item = Sub>,
Sub: Into<Subscription>,
Add a collection of Subscriptions to the StreamBuilder. Note that the provided
Subscriptions are not actioned until the init() method
is invoked.
sourcepub fn subscribe_exchange<SubIter, S>(
self,
exchange: ExchangeId,
subscriptions: SubIter
) -> Selfwhere
SubIter: IntoIterator<Item = (S, S, InstrumentKind, SubKind)>,
S: Into<Symbol>,
pub fn subscribe_exchange<SubIter, S>(
self,
exchange: ExchangeId,
subscriptions: SubIter
) -> Selfwhere
SubIter: IntoIterator<Item = (S, S, InstrumentKind, SubKind)>,
S: Into<Symbol>,
Add a set of Subscriptions for an exchange to the StreamBuilder. Note that the
provided Subscriptions are not actioned until the init()
method is invoked.
sourcepub async fn init(self) -> Result<Streams, SocketError>
pub async fn init(self) -> Result<Streams, SocketError>
Spawn a MarketEvent consumer loop for each exchange. Each consumer loop distributes
consumed MarketEvents to the Streams HashMap (returned by this method).