Simulation#

Matcher#

struct Matcher#

Order matching interface used to manage a simulated order book.

Public Functions

inline virtual ~Matcher()#
virtual void operator()(Event<GatewaySettings> const&) = 0#
virtual void operator()(Event<StreamStatus> const&) = 0#
virtual void operator()(Event<GatewayStatus> const&) = 0#
virtual void operator()(Event<ReferenceData> const&) = 0#
virtual void operator()(Event<MarketStatus> const&) = 0#
virtual void operator()(Event<TopOfBook> const&) = 0#
virtual void operator()(Event<MarketByPriceUpdate> const&) = 0#
virtual void operator()(Event<MarketByOrderUpdate> const&) = 0#
virtual void operator()(Event<TradeSummary> const&) = 0#
virtual void operator()(Event<StatisticsUpdate> const&) = 0#
virtual void operator()(Event<PositionUpdate> const&) = 0#
virtual void operator()(Event<FundsUpdate> const&) = 0#
virtual void operator()(Event<CreateOrder> const&) = 0#
virtual void operator()(Event<ModifyOrder> const&) = 0#
virtual void operator()(Event<CancelOrder> const&) = 0#
virtual void operator()(Event<CancelAllOrders> const&) = 0#
struct Dispatcher#

Dispatch interface used to handle (possibly processed) events.

Public Functions

virtual void operator()(Event<DownloadBegin> const&) = 0#
virtual void operator()(Event<DownloadEnd> const&) = 0#
virtual void operator()(Event<GatewaySettings> const&) = 0#
virtual void operator()(Event<StreamStatus> const&) = 0#
virtual void operator()(Event<GatewayStatus> const&) = 0#
virtual void operator()(Event<ReferenceData> const&) = 0#
virtual void operator()(Event<MarketStatus> const&) = 0#
virtual void operator()(Event<TopOfBook> const&) = 0#
virtual void operator()(Event<MarketByPriceUpdate> const&) = 0#
virtual void operator()(Event<MarketByOrderUpdate> const&) = 0#
virtual void operator()(Event<TradeSummary> const&) = 0#
virtual void operator()(Event<StatisticsUpdate> const&) = 0#
virtual void operator()(Event<CancelAllOrdersAck> const&) = 0#
virtual void operator()(Event<OrderAck> const&) = 0#
virtual void operator()(Event<OrderUpdate> const&) = 0#
virtual void operator()(Event<TradeUpdate> const&) = 0#
virtual void operator()(Event<PositionUpdate> const&) = 0#
virtual void operator()(Event<FundsUpdate> const&) = 0#

Generator#

struct Generator#

Generator interface used to manage a sequence of messages.

Public Functions

inline virtual ~Generator()#
virtual uint8_t get_source_id() const = 0#
virtual std::string_view get_source_name() const = 0#
virtual std::pair<bool, std::chrono::nanoseconds> peek_next_receive_time() = 0#

Peek next available message, if any.

virtual void dispatch(Dispatcher&) = 0#

Request the next message to be dispatched.

struct Dispatcher#

Dispatch interface used to handle update events.

Public Functions

inline virtual ~Dispatcher()#
virtual void operator()(Event<GatewaySettings> const&) = 0#
virtual void operator()(Event<StreamStatus> const&) = 0#
virtual void operator()(Event<GatewayStatus> const&) = 0#
virtual void operator()(Event<ReferenceData> const&) = 0#
virtual void operator()(Event<MarketStatus> const&) = 0#
virtual void operator()(Event<TopOfBook> const&) = 0#
virtual void operator()(Event<MarketByPriceUpdate> const&) = 0#
virtual void operator()(Event<MarketByOrderUpdate> const&) = 0#
virtual void operator()(Event<TradeSummary> const&) = 0#
virtual void operator()(Event<StatisticsUpdate> const&) = 0#
virtual void operator()(Event<PositionUpdate> const&) = 0#
virtual void operator()(Event<FundsUpdate> const&) = 0#