Skip to main content

apple_quant_algorithmic/backend/
decode.rs

1use crate::{
2	aggregation::TradeTradeTimestampListInline, instrument::InstrumentSpec,
3	timestamp::TradeTimestamp,
4};
5
6pub trait MarketDataDecoder<IS: InstrumentSpec>: 'static + Send {
7	/// Each iteration must contain atleast 1 trade.
8	fn decode_trade_list(
9		&mut self,
10	) -> impl Future<Output = Option<(
11		TradeTradeTimestampListInline<IS, 8>,
12		TradeTimestamp,
13	)>> + Send;
14}
15
16pub trait MarketDataDecoderProvider<IS: InstrumentSpec> {
17	type MarketDataDecoder: MarketDataDecoder<IS>;
18}