Trait CacheDatabaseAdapter
Source pub trait CacheDatabaseAdapter {
Show 54 methods
// Required methods
fn close(&mut self) -> Result<()>;
fn flush(&mut self) -> Result<()>;
fn load_all<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<CacheMap>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn load(&self) -> Result<HashMap<String, Bytes>>;
fn load_currencies<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<HashMap<Ustr, Currency>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn load_instruments<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<HashMap<InstrumentId, InstrumentAny>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn load_synthetics<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<HashMap<InstrumentId, SyntheticInstrument>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn load_accounts<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<HashMap<AccountId, AccountAny>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn load_orders<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<HashMap<ClientOrderId, OrderAny>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn load_positions<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<HashMap<PositionId, Position>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn load_index_order_position(
&self,
) -> Result<HashMap<ClientOrderId, Position>>;
fn load_index_order_client(
&self,
) -> Result<HashMap<ClientOrderId, ClientId>>;
fn load_currency<'life0, 'life1, 'async_trait>(
&'life0 self,
code: &'life1 Ustr,
) -> Pin<Box<dyn Future<Output = Result<Option<Currency>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn load_instrument<'life0, 'life1, 'async_trait>(
&'life0 self,
instrument_id: &'life1 InstrumentId,
) -> Pin<Box<dyn Future<Output = Result<Option<InstrumentAny>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn load_synthetic<'life0, 'life1, 'async_trait>(
&'life0 self,
instrument_id: &'life1 InstrumentId,
) -> Pin<Box<dyn Future<Output = Result<Option<SyntheticInstrument>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn load_account<'life0, 'life1, 'async_trait>(
&'life0 self,
account_id: &'life1 AccountId,
) -> Pin<Box<dyn Future<Output = Result<Option<AccountAny>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn load_order<'life0, 'life1, 'async_trait>(
&'life0 self,
client_order_id: &'life1 ClientOrderId,
) -> Pin<Box<dyn Future<Output = Result<Option<OrderAny>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn load_position<'life0, 'life1, 'async_trait>(
&'life0 self,
position_id: &'life1 PositionId,
) -> Pin<Box<dyn Future<Output = Result<Option<Position>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn load_actor(
&self,
component_id: &ComponentId,
) -> Result<HashMap<String, Bytes>>;
fn load_strategy(
&self,
strategy_id: &StrategyId,
) -> Result<HashMap<String, Bytes>>;
fn load_signals(&self, name: &str) -> Result<Vec<Signal>>;
fn load_custom_data(&self, data_type: &DataType) -> Result<Vec<CustomData>>;
fn load_order_snapshot(
&self,
client_order_id: &ClientOrderId,
) -> Result<Option<OrderSnapshot>>;
fn load_position_snapshot(
&self,
position_id: &PositionId,
) -> Result<Option<PositionSnapshot>>;
fn load_quotes(
&self,
instrument_id: &InstrumentId,
) -> Result<Vec<QuoteTick>>;
fn load_trades(
&self,
instrument_id: &InstrumentId,
) -> Result<Vec<TradeTick>>;
fn load_bars(&self, instrument_id: &InstrumentId) -> Result<Vec<Bar>>;
fn add(&self, key: String, value: Bytes) -> Result<()>;
fn add_currency(&self, currency: &Currency) -> Result<()>;
fn add_instrument(&self, instrument: &InstrumentAny) -> Result<()>;
fn add_synthetic(&self, synthetic: &SyntheticInstrument) -> Result<()>;
fn add_account(&self, account: &AccountAny) -> Result<()>;
fn add_order(
&self,
order: &OrderAny,
client_id: Option<ClientId>,
) -> Result<()>;
fn add_order_snapshot(&self, snapshot: &OrderSnapshot) -> Result<()>;
fn add_position(&self, position: &Position) -> Result<()>;
fn add_position_snapshot(&self, snapshot: &PositionSnapshot) -> Result<()>;
fn add_order_book(&self, order_book: &OrderBook) -> Result<()>;
fn add_signal(&self, signal: &Signal) -> Result<()>;
fn add_custom_data(&self, data: &CustomData) -> Result<()>;
fn add_quote(&self, quote: &QuoteTick) -> Result<()>;
fn add_trade(&self, trade: &TradeTick) -> Result<()>;
fn add_bar(&self, bar: &Bar) -> Result<()>;
fn delete_actor(&self, component_id: &ComponentId) -> Result<()>;
fn delete_strategy(&self, component_id: &StrategyId) -> Result<()>;
fn index_venue_order_id(
&self,
client_order_id: ClientOrderId,
venue_order_id: VenueOrderId,
) -> Result<()>;
fn index_order_position(
&self,
client_order_id: ClientOrderId,
position_id: PositionId,
) -> Result<()>;
fn update_actor(&self) -> Result<()>;
fn update_strategy(&self) -> Result<()>;
fn update_account(&self, account: &AccountAny) -> Result<()>;
fn update_order(&self, order_event: &OrderEventAny) -> Result<()>;
fn update_position(&self, position: &Position) -> Result<()>;
fn snapshot_order_state(&self, order: &OrderAny) -> Result<()>;
fn snapshot_position_state(&self, position: &Position) -> Result<()>;
fn heartbeat(&self, timestamp: UnixNanos) -> Result<()>;
}