pub trait RunJournalStore: Send + Sync {
// Required methods
fn init(&self) -> Result<(), StorageError>;
fn save_run_state(&self, state: &BotRunState) -> Result<(), StorageError>;
fn load_run_state(
&self,
run_id: &str,
) -> Result<Option<BotRunState>, StorageError>;
fn latest_run_for_market(
&self,
market: &MarketId,
strategy_name: &str,
) -> Result<Option<BotRunState>, StorageError>;
fn append_order_event(
&self,
run_id: &str,
order: &ExchangeOrder,
) -> Result<(), StorageError>;
fn append_closed_trade(
&self,
run_id: &str,
trade: &ClosedTrade,
) -> Result<(), StorageError>;
fn list_order_events(
&self,
run_id: &str,
limit: usize,
) -> Result<Vec<ExchangeOrder>, StorageError>;
fn list_closed_trades(
&self,
run_id: &str,
limit: usize,
) -> Result<Vec<ClosedTrade>, StorageError>;
}Required Methods§
fn init(&self) -> Result<(), StorageError>
fn save_run_state(&self, state: &BotRunState) -> Result<(), StorageError>
fn load_run_state( &self, run_id: &str, ) -> Result<Option<BotRunState>, StorageError>
fn latest_run_for_market( &self, market: &MarketId, strategy_name: &str, ) -> Result<Option<BotRunState>, StorageError>
fn append_order_event( &self, run_id: &str, order: &ExchangeOrder, ) -> Result<(), StorageError>
fn append_closed_trade( &self, run_id: &str, trade: &ClosedTrade, ) -> Result<(), StorageError>
fn list_order_events( &self, run_id: &str, limit: usize, ) -> Result<Vec<ExchangeOrder>, StorageError>
fn list_closed_trades( &self, run_id: &str, limit: usize, ) -> Result<Vec<ClosedTrade>, StorageError>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".