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<ExternalLatency> 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