Simulation

Matcher

class roq::Matcher

Order matching interface used to manage a simulated order book.

Public Functions

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

Dispatch interface used to handle (possibly processed) events.

Public Functions

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

Generator

class roq::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.

class Dispatcher

Dispatch interface used to handle update events.

Public Functions

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