nautilus_common::cache::databaseTrait CacheDatabaseAdapter
source pub trait CacheDatabaseAdapter {
Show 45 methods
// Required methods
fn close(&mut self) -> Result<()>;
fn flush(&mut self) -> Result<()>;
fn load(&mut self) -> Result<HashMap<String, Bytes>>;
fn load_currencies(&mut self) -> Result<HashMap<Ustr, Currency>>;
fn load_instruments(
&mut self,
) -> Result<HashMap<InstrumentId, InstrumentAny>>;
fn load_synthetics(
&mut self,
) -> Result<HashMap<InstrumentId, SyntheticInstrument>>;
fn load_accounts(&mut self) -> Result<HashMap<AccountId, AccountAny>>;
fn load_orders(&mut self) -> Result<HashMap<ClientOrderId, OrderAny>>;
fn load_positions(&mut self) -> Result<HashMap<PositionId, Position>>;
fn load_index_order_position(
&mut self,
) -> Result<HashMap<ClientOrderId, Position>>;
fn load_index_order_client(
&mut self,
) -> Result<HashMap<ClientOrderId, ClientId>>;
fn load_currency(&mut self, code: &Ustr) -> Result<Option<Currency>>;
fn load_instrument(
&mut self,
instrument_id: &InstrumentId,
) -> Result<Option<InstrumentAny>>;
fn load_synthetic(
&mut self,
instrument_id: &InstrumentId,
) -> Result<SyntheticInstrument>;
fn load_account(
&mut self,
account_id: &AccountId,
) -> Result<Option<AccountAny>>;
fn load_order(
&mut self,
client_order_id: &ClientOrderId,
) -> Result<Option<OrderAny>>;
fn load_position(&mut self, position_id: &PositionId) -> Result<Position>;
fn load_actor(
&mut self,
component_id: &ComponentId,
) -> Result<HashMap<String, Bytes>>;
fn delete_actor(&mut self, component_id: &ComponentId) -> Result<()>;
fn load_strategy(
&mut self,
strategy_id: &StrategyId,
) -> Result<HashMap<String, Bytes>>;
fn delete_strategy(&mut self, component_id: &StrategyId) -> Result<()>;
fn add(&mut self, key: String, value: Bytes) -> Result<()>;
fn add_currency(&mut self, currency: &Currency) -> Result<()>;
fn add_instrument(&mut self, instrument: &InstrumentAny) -> Result<()>;
fn add_synthetic(&mut self, synthetic: &SyntheticInstrument) -> Result<()>;
fn add_account(&mut self, account: &AccountAny) -> Result<()>;
fn add_order(
&mut self,
order: &OrderAny,
client_id: Option<ClientId>,
) -> Result<()>;
fn add_position(&mut self, position: &Position) -> Result<()>;
fn add_order_book(&mut self, order_book: &OrderBook) -> Result<()>;
fn add_quote(&mut self, quote: &QuoteTick) -> Result<()>;
fn load_quotes(
&mut self,
instrument_id: &InstrumentId,
) -> Result<Vec<QuoteTick>>;
fn add_trade(&mut self, trade: &TradeTick) -> Result<()>;
fn load_trades(
&mut self,
instrument_id: &InstrumentId,
) -> Result<Vec<TradeTick>>;
fn add_bar(&mut self, bar: &Bar) -> Result<()>;
fn load_bars(&mut self, instrument_id: &InstrumentId) -> Result<Vec<Bar>>;
fn index_venue_order_id(
&mut self,
client_order_id: ClientOrderId,
venue_order_id: VenueOrderId,
) -> Result<()>;
fn index_order_position(
&mut self,
client_order_id: ClientOrderId,
position_id: PositionId,
) -> Result<()>;
fn update_actor(&mut self) -> Result<()>;
fn update_strategy(&mut self) -> Result<()>;
fn update_account(&mut self, account: &AccountAny) -> Result<()>;
fn update_order(&mut self, order: &OrderAny) -> Result<()>;
fn update_position(&mut self, position: &Position) -> Result<()>;
fn snapshot_order_state(&mut self, order: &OrderAny) -> Result<()>;
fn snapshot_position_state(&mut self, position: &Position) -> Result<()>;
fn heartbeat(&mut self, timestamp: UnixNanos) -> Result<()>;
}