Struct DatabentoSubscriberActor

Source
pub struct DatabentoSubscriberActor {
    pub(crate) core: DataActorCore,
    pub(crate) config: DatabentoSubscriberActorConfig,
    pub received_quotes: Vec<QuoteTick>,
    pub received_trades: Vec<TradeTick>,
}
Expand description

A basic Databento subscriber actor that subscribes to quotes and trades.

This actor demonstrates how to use the DataActor trait to subscribe to market data from Databento for specified instruments. It logs received quotes and trades to demonstrate the data flow.

Fields§

§core: DataActorCore§config: DatabentoSubscriberActorConfig§received_quotes: Vec<QuoteTick>§received_trades: Vec<TradeTick>

Implementations§

Source§

impl DatabentoSubscriberActor

Source

pub fn new(config: DatabentoSubscriberActorConfig) -> Self

Creates a new DatabentoSubscriberActor instance.

Source

pub const fn quote_count(&self) -> usize

Returns the number of quotes received by this actor.

Source

pub const fn trade_count(&self) -> usize

Returns the number of trades received by this actor.

Methods from Deref<Target = DataActorCore>§

pub fn trader_id(&self) -> Option<TraderId>

Returns the trader ID this actor is registered to.

pub fn actor_id(&self) -> ActorId

pub fn timestamp_ns(&self) -> UnixNanos

pub fn clock(&mut self) -> RefMut<'_, dyn Clock>

Returns the clock for the actor (if registered).

§Panics

Panics if the actor has not been registered with a trader.

pub fn register( &mut self, trader_id: TraderId, clock: Rc<RefCell<dyn Clock>>, cache: Rc<RefCell<Cache>>, ) -> Result<(), Error>

Register the data actor with a trader.

§Errors

Returns an error if the actor has already been registered with a trader or if the provided dependencies are invalid.

pub fn register_warning_event(&mut self, event_type: &str)

Register an event type for warning log levels.

pub fn deregister_warning_event(&mut self, event_type: &str)

Deregister an event type from warning log levels.

pub fn shutdown_system(&self, reason: Option<String>)

Sends a shutdown command to the system with an optional reason.

§Panics

Panics if the actor is not registered or has no trader ID.

pub fn subscribe_data( &mut self, handler: ShareableMessageHandler, data_type: DataType, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )

Helper method for registering data subscriptions from the trait.

§Panics

Panics if the actor is not properly registered.

pub fn subscribe_quotes( &mut self, topic: MStr<Topic>, handler: ShareableMessageHandler, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )

Helper method for registering quotes subscriptions from the trait.

pub fn subscribe_instruments( &mut self, topic: MStr<Topic>, handler: ShareableMessageHandler, venue: Venue, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )

Helper method for registering instruments subscriptions from the trait.

pub fn subscribe_instrument( &mut self, topic: MStr<Topic>, handler: ShareableMessageHandler, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )

Helper method for registering instrument subscriptions from the trait.

pub fn subscribe_book_deltas( &mut self, topic: MStr<Topic>, handler: ShareableMessageHandler, instrument_id: InstrumentId, book_type: BookType, depth: Option<NonZero<usize>>, client_id: Option<ClientId>, managed: bool, params: Option<IndexMap<String, String>>, )

Helper method for registering book deltas subscriptions from the trait.

pub fn subscribe_book_at_interval( &mut self, topic: MStr<Topic>, handler: ShareableMessageHandler, instrument_id: InstrumentId, book_type: BookType, depth: Option<NonZero<usize>>, interval_ms: NonZero<usize>, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )

Helper method for registering book snapshots subscriptions from the trait.

pub fn subscribe_trades( &mut self, topic: MStr<Topic>, handler: ShareableMessageHandler, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )

Helper method for registering trades subscriptions from the trait.

pub fn subscribe_bars( &mut self, topic: MStr<Topic>, handler: ShareableMessageHandler, bar_type: BarType, client_id: Option<ClientId>, await_partial: bool, params: Option<IndexMap<String, String>>, )

Helper method for registering bars subscriptions from the trait.

pub fn subscribe_mark_prices( &mut self, topic: MStr<Topic>, handler: ShareableMessageHandler, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )

Helper method for registering mark prices subscriptions from the trait.

pub fn subscribe_index_prices( &mut self, topic: MStr<Topic>, handler: ShareableMessageHandler, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )

Helper method for registering index prices subscriptions from the trait.

pub fn subscribe_instrument_status( &mut self, topic: MStr<Topic>, handler: ShareableMessageHandler, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )

Helper method for registering instrument status subscriptions from the trait.

pub fn subscribe_instrument_close( &mut self, topic: MStr<Topic>, handler: ShareableMessageHandler, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )

Helper method for registering instrument close subscriptions from the trait.

pub fn subscribe_blocks( &mut self, topic: MStr<Topic>, handler: ShareableMessageHandler, chain: Blockchain, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )

Helper method for registering block subscriptions from the trait.

pub fn subscribe_pool( &mut self, topic: MStr<Topic>, handler: ShareableMessageHandler, address: Address, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )

Helper method for registering pool subscriptions from the trait.

pub fn subscribe_pool_swaps( &mut self, topic: MStr<Topic>, handler: ShareableMessageHandler, address: Address, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )

Helper method for registering pool swap subscriptions from the trait.

pub fn subscribe_pool_liquidity_updates( &mut self, topic: MStr<Topic>, handler: ShareableMessageHandler, address: Address, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )

Helper method for registering pool liquidity update subscriptions from the trait.

pub fn unsubscribe_data( &self, data_type: DataType, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )

Helper method for unsubscribing from data.

pub fn unsubscribe_instruments( &self, venue: Venue, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )

Helper method for unsubscribing from instruments.

pub fn unsubscribe_instrument( &self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )

Helper method for unsubscribing from instrument.

pub fn unsubscribe_book_deltas( &self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )

Helper method for unsubscribing from book deltas.

pub fn unsubscribe_book_at_interval( &mut self, instrument_id: InstrumentId, interval_ms: NonZero<usize>, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )

Helper method for unsubscribing from book snapshots at interval.

pub fn unsubscribe_quotes( &self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )

Helper method for unsubscribing from quotes.

pub fn unsubscribe_trades( &self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )

Helper method for unsubscribing from trades.

pub fn unsubscribe_bars( &mut self, bar_type: BarType, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )

Helper method for unsubscribing from bars.

pub fn unsubscribe_mark_prices( &self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )

Helper method for unsubscribing from mark prices.

pub fn unsubscribe_index_prices( &self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )

Helper method for unsubscribing from index prices.

pub fn unsubscribe_instrument_status( &self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )

Helper method for unsubscribing from instrument status.

pub fn unsubscribe_instrument_close( &self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )

Helper method for unsubscribing from instrument close.

pub fn unsubscribe_blocks( &mut self, chain: Blockchain, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )

Helper method for unsubscribing from blocks.

pub fn unsubscribe_pool( &mut self, address: Address, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )

Helper method for unsubscribing from pool definition updates.

pub fn unsubscribe_pool_swaps( &mut self, address: Address, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )

Helper method for unsubscribing from pool swaps.

pub fn unsubscribe_pool_liquidity_updates( &mut self, address: Address, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )

Helper method for unsubscribing from pool liquidity updates.

pub fn request_data( &self, data_type: DataType, client_id: ClientId, start: Option<DateTime<Utc>>, end: Option<DateTime<Utc>>, limit: Option<NonZero<usize>>, params: Option<IndexMap<String, String>>, handler: ShareableMessageHandler, ) -> Result<UUID4, Error>

Helper method for requesting data.

§Errors

Returns an error if input parameters are invalid.

pub fn request_instrument( &self, instrument_id: InstrumentId, start: Option<DateTime<Utc>>, end: Option<DateTime<Utc>>, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, handler: ShareableMessageHandler, ) -> Result<UUID4, Error>

Helper method for requesting instrument.

§Errors

Returns an error if input parameters are invalid.

pub fn request_instruments( &self, venue: Option<Venue>, start: Option<DateTime<Utc>>, end: Option<DateTime<Utc>>, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, handler: ShareableMessageHandler, ) -> Result<UUID4, Error>

Helper method for requesting instruments.

§Errors

Returns an error if input parameters are invalid.

pub fn request_book_snapshot( &self, instrument_id: InstrumentId, depth: Option<NonZero<usize>>, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, handler: ShareableMessageHandler, ) -> Result<UUID4, Error>

Helper method for requesting book snapshot.

§Errors

Returns an error if input parameters are invalid.

pub fn request_quotes( &self, instrument_id: InstrumentId, start: Option<DateTime<Utc>>, end: Option<DateTime<Utc>>, limit: Option<NonZero<usize>>, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, handler: ShareableMessageHandler, ) -> Result<UUID4, Error>

Helper method for requesting quotes.

§Errors

Returns an error if input parameters are invalid.

pub fn request_trades( &self, instrument_id: InstrumentId, start: Option<DateTime<Utc>>, end: Option<DateTime<Utc>>, limit: Option<NonZero<usize>>, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, handler: ShareableMessageHandler, ) -> Result<UUID4, Error>

Helper method for requesting trades.

§Errors

Returns an error if input parameters are invalid.

pub fn request_bars( &self, bar_type: BarType, start: Option<DateTime<Utc>>, end: Option<DateTime<Utc>>, limit: Option<NonZero<usize>>, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, handler: ShareableMessageHandler, ) -> Result<UUID4, Error>

Helper method for requesting bars.

§Errors

Returns an error if input parameters are invalid.

Trait Implementations§

Source§

impl DataActor for DatabentoSubscriberActor

Source§

fn on_start(&mut self) -> Result<()>

Actions to be performed on start. Read more
Source§

fn on_stop(&mut self) -> Result<()>

Actions to be performed on stop. Read more
Source§

fn on_time_event(&mut self, event: &TimeEvent) -> Result<()>

Actions to be performed when receiving a time event. Read more
Source§

fn on_quote(&mut self, quote: &QuoteTick) -> Result<()>

Actions to be performed when receiving a quote. Read more
Source§

fn on_trade(&mut self, trade: &TradeTick) -> Result<()>

Actions to be performed when receiving a trade. Read more
§

fn on_save(&self) -> Result<IndexMap<String, Vec<u8>>, Error>

Actions to be performed when the actor state is saved. Read more
§

fn on_load(&mut self, state: IndexMap<String, Vec<u8>>) -> Result<(), Error>

Actions to be performed when the actor state is loaded. Read more
§

fn on_resume(&mut self) -> Result<(), Error>

Actions to be performed on resume. Read more
§

fn on_reset(&mut self) -> Result<(), Error>

Actions to be performed on reset. Read more
§

fn on_dispose(&mut self) -> Result<(), Error>

Actions to be performed on dispose. Read more
§

fn on_degrade(&mut self) -> Result<(), Error>

Actions to be performed on degrade. Read more
§

fn on_fault(&mut self) -> Result<(), Error>

Actions to be performed on fault. Read more
§

fn on_data(&mut self, data: &(dyn Any + 'static)) -> Result<(), Error>

Actions to be performed when receiving custom data. Read more
§

fn on_signal(&mut self, signal: &Signal) -> Result<(), Error>

Actions to be performed when receiving a signal. Read more
§

fn on_instrument(&mut self, instrument: &InstrumentAny) -> Result<(), Error>

Actions to be performed when receiving an instrument. Read more
§

fn on_book_deltas(&mut self, deltas: &OrderBookDeltas) -> Result<(), Error>

Actions to be performed when receiving order book deltas. Read more
§

fn on_book(&mut self, order_book: &OrderBook) -> Result<(), Error>

Actions to be performed when receiving an order book. Read more
§

fn on_bar(&mut self, bar: &Bar) -> Result<(), Error>

Actions to be performed when receiving a bar. Read more
§

fn on_mark_price(&mut self, mark_price: &MarkPriceUpdate) -> Result<(), Error>

Actions to be performed when receiving a mark price update. Read more
§

fn on_index_price( &mut self, index_price: &IndexPriceUpdate, ) -> Result<(), Error>

Actions to be performed when receiving an index price update. Read more
§

fn on_instrument_status(&mut self, data: &InstrumentStatus) -> Result<(), Error>

Actions to be performed when receiving an instrument status update. Read more
§

fn on_instrument_close(&mut self, update: &InstrumentClose) -> Result<(), Error>

Actions to be performed when receiving an instrument close update. Read more
§

fn on_block(&mut self, block: &Block) -> Result<(), Error>

Actions to be performed when receiving a block. Read more
§

fn on_pool(&mut self, pool: &Pool) -> Result<(), Error>

Actions to be performed when receiving a pool. Read more
§

fn on_pool_swap(&mut self, swap: &PoolSwap) -> Result<(), Error>

Actions to be performed when receiving a pool swap. Read more
§

fn on_pool_liquidity_update( &mut self, update: &PoolLiquidityUpdate, ) -> Result<(), Error>

Actions to be performed when receiving a pool liquidity update. Read more
§

fn on_historical_data( &mut self, data: &(dyn Any + 'static), ) -> Result<(), Error>

Actions to be performed when receiving historical data. Read more
§

fn on_historical_quotes(&mut self, quotes: &[QuoteTick]) -> Result<(), Error>

Actions to be performed when receiving historical quotes. Read more
§

fn on_historical_trades(&mut self, trades: &[TradeTick]) -> Result<(), Error>

Actions to be performed when receiving historical trades. Read more
§

fn on_historical_bars(&mut self, bars: &[Bar]) -> Result<(), Error>

Actions to be performed when receiving historical bars. Read more
§

fn on_historical_mark_prices( &mut self, mark_prices: &[MarkPriceUpdate], ) -> Result<(), Error>

Actions to be performed when receiving historical mark prices. Read more
§

fn on_historical_index_prices( &mut self, index_prices: &[IndexPriceUpdate], ) -> Result<(), Error>

Actions to be performed when receiving historical index prices. Read more
§

fn handle_time_event(&mut self, event: &TimeEvent)

Handles a received time event.
§

fn handle_data(&mut self, data: &(dyn Any + 'static))

Handles a received custom data point.
§

fn handle_signal(&mut self, signal: &Signal)

Handles a received signal.
§

fn handle_instrument(&mut self, instrument: &InstrumentAny)

Handles a received instrument.
§

fn handle_book_deltas(&mut self, deltas: &OrderBookDeltas)

Handles received order book deltas.
§

fn handle_book(&mut self, book: &OrderBook)

Handles a received order book reference.
§

fn handle_quote(&mut self, quote: &QuoteTick)

Handles a received quote.
§

fn handle_trade(&mut self, trade: &TradeTick)

Handles a received trade.
§

fn handle_bar(&mut self, bar: &Bar)

Handles a receiving bar.
§

fn handle_mark_price(&mut self, mark_price: &MarkPriceUpdate)

Handles a received mark price update.
§

fn handle_index_price(&mut self, index_price: &IndexPriceUpdate)

Handles a received index price update.
§

fn handle_instrument_status(&mut self, status: &InstrumentStatus)

Handles a received instrument status.
§

fn handle_instrument_close(&mut self, close: &InstrumentClose)

Handles a received instrument close.
§

fn handle_block(&mut self, block: &Block)

Handles a received block.
§

fn handle_pool(&mut self, pool: &Pool)

Handles a received pool definition update.
§

fn handle_pool_swap(&mut self, swap: &PoolSwap)

Handles a received pool swap.
§

fn handle_pool_liquidity_update(&mut self, update: &PoolLiquidityUpdate)

Handles a received pool liquidity update.
§

fn handle_historical_data(&mut self, data: &(dyn Any + 'static))

Handles received historical data.
§

fn handle_data_response(&mut self, resp: &CustomDataResponse)

Handles a data response.
§

fn handle_instrument_response(&mut self, resp: &InstrumentResponse)

Handles an instrument response.
§

fn handle_instruments_response(&mut self, resp: &InstrumentsResponse)

Handles an instruments response.
§

fn handle_book_response(&mut self, resp: &BookResponse)

Handles a book response.
§

fn handle_quotes_response(&mut self, resp: &QuotesResponse)

Handles a quotes response.
§

fn handle_trades_response(&mut self, resp: &TradesResponse)

Handles a trades response.
§

fn handle_bars_response(&mut self, resp: &BarsResponse)

Handles a bars response.
§

fn subscribe_data( &mut self, data_type: DataType, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )
where Self: Sized + 'static + Debug,

Subscribe to streaming data_type data.
§

fn subscribe_quotes( &mut self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )
where Self: Sized + 'static + Debug,

Subscribe to streaming [QuoteTick] data for the instrument_id.
§

fn subscribe_instruments( &mut self, venue: Venue, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )
where Self: Sized + 'static + Debug,

Subscribe to streaming [InstrumentAny] data for the venue.
§

fn subscribe_instrument( &mut self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )
where Self: Sized + 'static + Debug,

Subscribe to streaming [InstrumentAny] data for the instrument_id.
§

fn subscribe_book_deltas( &mut self, instrument_id: InstrumentId, book_type: BookType, depth: Option<NonZero<usize>>, client_id: Option<ClientId>, managed: bool, params: Option<IndexMap<String, String>>, )
where Self: Sized + 'static + Debug,

Subscribe to streaming [OrderBookDeltas] data for the instrument_id.
§

fn subscribe_book_at_interval( &mut self, instrument_id: InstrumentId, book_type: BookType, depth: Option<NonZero<usize>>, interval_ms: NonZero<usize>, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )
where Self: Sized + 'static + Debug,

Subscribe to [OrderBook] snapshots at a specified interval for the instrument_id.
§

fn subscribe_trades( &mut self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )
where Self: Sized + 'static + Debug,

Subscribe to streaming [TradeTick] data for the instrument_id.
§

fn subscribe_bars( &mut self, bar_type: BarType, client_id: Option<ClientId>, await_partial: bool, params: Option<IndexMap<String, String>>, )
where Self: Sized + 'static + Debug,

Subscribe to streaming [Bar] data for the bar_type.
§

fn subscribe_mark_prices( &mut self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )
where Self: Sized + 'static + Debug,

Subscribe to streaming [MarkPriceUpdate] data for the instrument_id.
§

fn subscribe_index_prices( &mut self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )
where Self: Sized + 'static + Debug,

Subscribe to streaming [IndexPriceUpdate] data for the instrument_id.
§

fn subscribe_instrument_status( &mut self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )
where Self: Sized + 'static + Debug,

Subscribe to streaming [InstrumentStatus] data for the instrument_id.
§

fn subscribe_instrument_close( &mut self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )
where Self: Sized + 'static + Debug,

Subscribe to streaming [InstrumentClose] data for the instrument_id.
§

fn subscribe_blocks( &mut self, chain: Blockchain, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )
where Self: Sized + 'static + Debug,

Subscribe to streaming [Block] data for the chain.
§

fn subscribe_pool( &mut self, address: Address, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )
where Self: Sized + 'static + Debug,

Subscribe to streaming [Pool] definition updates for the AMM pool at the address.
§

fn subscribe_pool_swaps( &mut self, address: Address, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )
where Self: Sized + 'static + Debug,

Subscribe to streaming [PoolSwap] data for the address.
§

fn subscribe_pool_liquidity_updates( &mut self, address: Address, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )
where Self: Sized + 'static + Debug,

Subscribe to streaming [PoolLiquidityUpdate] data for the address.
§

fn unsubscribe_data( &mut self, data_type: DataType, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )
where Self: Sized + 'static + Debug,

Unsubscribe from streaming data_type data.
§

fn unsubscribe_instruments( &mut self, venue: Venue, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )
where Self: Sized + 'static + Debug,

Unsubscribe from streaming [InstrumentAny] data for the venue.
§

fn unsubscribe_instrument( &mut self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )
where Self: Sized + 'static + Debug,

Unsubscribe from streaming [InstrumentAny] data for the instrument_id.
§

fn unsubscribe_book_deltas( &mut self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )
where Self: Sized + 'static + Debug,

Unsubscribe from streaming [OrderBookDeltas] data for the instrument_id.
§

fn unsubscribe_book_at_interval( &mut self, instrument_id: InstrumentId, interval_ms: NonZero<usize>, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )
where Self: Sized + 'static + Debug,

Unsubscribe from [OrderBook] snapshots at a specified interval for the instrument_id.
§

fn unsubscribe_quotes( &mut self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )
where Self: Sized + 'static + Debug,

Unsubscribe from streaming [QuoteTick] data for the instrument_id.
§

fn unsubscribe_trades( &mut self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )
where Self: Sized + 'static + Debug,

Unsubscribe from streaming [TradeTick] data for the instrument_id.
§

fn unsubscribe_bars( &mut self, bar_type: BarType, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )
where Self: Sized + 'static + Debug,

Unsubscribe from streaming [Bar] data for the bar_type.
§

fn unsubscribe_mark_prices( &mut self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )
where Self: Sized + 'static + Debug,

Unsubscribe from streaming [MarkPriceUpdate] data for the instrument_id.
§

fn unsubscribe_index_prices( &mut self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )
where Self: Sized + 'static + Debug,

Unsubscribe from streaming [IndexPriceUpdate] data for the instrument_id.
§

fn unsubscribe_instrument_status( &mut self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )
where Self: Sized + 'static + Debug,

Unsubscribe from streaming [InstrumentStatus] data for the instrument_id.
§

fn unsubscribe_instrument_close( &mut self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )
where Self: Sized + 'static + Debug,

Unsubscribe from streaming [InstrumentClose] data for the instrument_id.
§

fn unsubscribe_blocks( &mut self, chain: Blockchain, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )
where Self: Sized + 'static + Debug,

Unsubscribe from streaming [Block] data for the chain.
§

fn unsubscribe_pool( &mut self, address: Address, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )
where Self: Sized + 'static + Debug,

Unsubscribe from streaming [Pool] definition updates for the AMM pool at the address.
§

fn unsubscribe_pool_swaps( &mut self, address: Address, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )
where Self: Sized + 'static + Debug,

Unsubscribe from streaming [PoolSwap] data for the address.
§

fn unsubscribe_pool_liquidity_updates( &mut self, address: Address, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, )
where Self: Sized + 'static + Debug,

Unsubscribe from streaming [PoolLiquidityUpdate] data for the address.
§

fn request_data( &mut self, data_type: DataType, client_id: ClientId, start: Option<DateTime<Utc>>, end: Option<DateTime<Utc>>, limit: Option<NonZero<usize>>, params: Option<IndexMap<String, String>>, ) -> Result<UUID4, Error>
where Self: Sized + 'static + Debug,

Request historical custom data of the given data_type. Read more
§

fn request_instrument( &mut self, instrument_id: InstrumentId, start: Option<DateTime<Utc>>, end: Option<DateTime<Utc>>, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, ) -> Result<UUID4, Error>
where Self: Sized + 'static + Debug,

Request historical [InstrumentResponse] data for the given instrument_id. Read more
§

fn request_instruments( &mut self, venue: Option<Venue>, start: Option<DateTime<Utc>>, end: Option<DateTime<Utc>>, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, ) -> Result<UUID4, Error>
where Self: Sized + 'static + Debug,

Request historical [InstrumentsResponse] definitions for the optional venue. Read more
§

fn request_book_snapshot( &mut self, instrument_id: InstrumentId, depth: Option<NonZero<usize>>, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, ) -> Result<UUID4, Error>
where Self: Sized + 'static + Debug,

Request an [OrderBook] snapshot for the given instrument_id. Read more
§

fn request_quotes( &mut self, instrument_id: InstrumentId, start: Option<DateTime<Utc>>, end: Option<DateTime<Utc>>, limit: Option<NonZero<usize>>, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, ) -> Result<UUID4, Error>
where Self: Sized + 'static + Debug,

Request historical [QuoteTick] data for the given instrument_id. Read more
§

fn request_trades( &mut self, instrument_id: InstrumentId, start: Option<DateTime<Utc>>, end: Option<DateTime<Utc>>, limit: Option<NonZero<usize>>, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, ) -> Result<UUID4, Error>
where Self: Sized + 'static + Debug,

Request historical [TradeTick] data for the given instrument_id. Read more
§

fn request_bars( &mut self, bar_type: BarType, start: Option<DateTime<Utc>>, end: Option<DateTime<Utc>>, limit: Option<NonZero<usize>>, client_id: Option<ClientId>, params: Option<IndexMap<String, String>>, ) -> Result<UUID4, Error>
where Self: Sized + 'static + Debug,

Request historical [Bar] data for the given bar_type. Read more
Source§

impl Debug for DatabentoSubscriberActor

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Deref for DatabentoSubscriberActor

Source§

type Target = DataActorCore

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl DerefMut for DatabentoSubscriberActor

Source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.

Auto Trait Implementations§

Blanket Implementations§

§

impl<T> Actor for T
where T: DataActor + Debug + 'static,

§

fn id(&self) -> Ustr

The unique identifier for the actor.
§

fn handle(&mut self, msg: &(dyn Any + 'static))

Handles the msg.
§

fn as_any(&self) -> &(dyn Any + 'static)

Returns a reference to self as Any, for downcasting support.
§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
where Self: Sized,

Returns a mutable reference to self as Any, for downcasting support. Read more
Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> Component for T
where T: DataActor + Debug + 'static,

§

fn component_id(&self) -> ComponentId

Returns the unique identifier for this component.
§

fn state(&self) -> ComponentState

Returns the current state of the component.
§

fn transition_state(&mut self, trigger: ComponentTrigger) -> Result<(), Error>

Transition the component with the state trigger. Read more
§

fn register( &mut self, trader_id: TraderId, clock: Rc<RefCell<dyn Clock>>, cache: Rc<RefCell<Cache>>, ) -> Result<(), Error>

Registers the component with a system. Read more
§

fn on_start(&mut self) -> Result<(), Error>

Actions to be performed on start. Read more
§

fn on_stop(&mut self) -> Result<(), Error>

Actions to be performed on stop. Read more
§

fn on_resume(&mut self) -> Result<(), Error>

Actions to be performed on resume. Read more
§

fn on_degrade(&mut self) -> Result<(), Error>

Actions to be performed on degrade. Read more
§

fn on_fault(&mut self) -> Result<(), Error>

Actions to be performed on fault. Read more
§

fn on_reset(&mut self) -> Result<(), Error>

Actions to be performed on reset. Read more
§

fn on_dispose(&mut self) -> Result<(), Error>

Actions to be performed on dispose. Read more
§

fn is_ready(&self) -> bool

Returns whether the component is ready.
§

fn not_running(&self) -> bool

Returns whether the component is not running.
§

fn is_running(&self) -> bool

Returns whether the component is running.
§

fn is_stopped(&self) -> bool

Returns whether the component is stopped.
§

fn is_degraded(&self) -> bool

Returns whether the component has been degraded.
§

fn is_faulted(&self) -> bool

Returns whether the component has been faulted.
§

fn is_disposed(&self) -> bool

Returns whether the component has been disposed.
§

fn initialize(&mut self) -> Result<(), Error>

Initializes the component. Read more
§

fn start(&mut self) -> Result<(), Error>

Starts the component. Read more
§

fn stop(&mut self) -> Result<(), Error>

Stops the component. Read more
§

fn resume(&mut self) -> Result<(), Error>

Resumes the component. Read more
§

fn degrade(&mut self) -> Result<(), Error>

Degrades the component. Read more
§

fn fault(&mut self) -> Result<(), Error>

Faults the component. Read more
§

fn reset(&mut self) -> Result<(), Error>

Resets the component to its initial state. Read more
§

fn dispose(&mut self) -> Result<(), Error>

Disposes of the component, releasing any resources. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

impl<T> PolicyExt for T
where T: ?Sized,

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] only if self and other return Action::Follow. Read more
§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] if either self or other returns Action::Follow. Read more
Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<T> ErasedDestructor for T
where T: 'static,