architect_sdk/marketdata/
mod.rs1use architect_api::symbology::MarketdataVenue;
2use std::collections::BTreeMap;
3
4#[cfg(feature = "grpc")]
5pub mod l2_client;
6pub mod level_book;
7#[cfg(feature = "grpc")]
8pub mod managed_l1_streams;
9pub mod synthetic_candles;
10
11pub use level_book::{LevelBook, LevelLike};
12
13#[derive(Debug)]
14pub enum MarketdataSource<T> {
15 Gateway(T),
16 PerVenue(BTreeMap<MarketdataVenue, T>),
17}
18
19impl<T> MarketdataSource<T> {
20 pub fn get(&self, venue: &MarketdataVenue) -> Option<&T> {
21 match self {
22 MarketdataSource::Gateway(t) => Some(t),
23 MarketdataSource::PerVenue(map) => map.get(venue),
24 }
25 }
26}