Skip to main content

DataBackend

Trait DataBackend 

Source
pub trait DataBackend<'instrument_data, 'aggregated_data, IS: InstrumentSpec, OB: OrdersBackend<IS>, OrdersCS: OrdersCapacitySpec, S: Strategy<IS, OB, OrdersCS>>: MarketDataDecoderProvider<IS> {
    // Required methods
    fn new(
        data_key: Option<&str>,
        frontend: Frontend<'instrument_data, 'aggregated_data, IS, OB, OrdersCS, S>,
        orders_backend_update_receiver: Receiver<OrdersBackendUpdate<IS>, OrdersBackendUpdateRecycle>,
    ) -> Self;
    fn file_name_postpend() -> &'static str;
    fn backtest(
        &mut self,
        walk_range: TimestampRangeExclusive,
    ) -> impl Future<Output = ()>;
    fn decode_market_data(
        buf_readers: impl ExactSizeIterator<Item = BufReader<File>>,
    ) -> impl Future<Output = Self::MarketDataDecoder>;
    fn historical_mut(
        &mut self,
    ) -> Option<Result<&mut impl HistoricalDataBackend<IS>, ()>>;
}

Required Methods§

Source

fn new( data_key: Option<&str>, frontend: Frontend<'instrument_data, 'aggregated_data, IS, OB, OrdersCS, S>, orders_backend_update_receiver: Receiver<OrdersBackendUpdate<IS>, OrdersBackendUpdateRecycle>, ) -> Self

Source

fn file_name_postpend() -> &'static str

Source

fn backtest( &mut self, walk_range: TimestampRangeExclusive, ) -> impl Future<Output = ()>

Source

fn decode_market_data( buf_readers: impl ExactSizeIterator<Item = BufReader<File>>, ) -> impl Future<Output = Self::MarketDataDecoder>

Source

fn historical_mut( &mut self, ) -> Option<Result<&mut impl HistoricalDataBackend<IS>, ()>>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<'instrument_data, 'aggregated_data, IS: InstrumentSpec, OB: OrdersBackend<IS> + Send, OrdersCS: OrdersCapacitySpec, S: Strategy<IS, OB, OrdersCS> + Send> DataBackend<'instrument_data, 'aggregated_data, IS, OB, OrdersCS, S> for Databento<'instrument_data, 'aggregated_data, IS, OB, OrdersCS, S>