Simulation

Matcher

class roq::Matcher

Order matching interface used to manage a simulated order book.

Public Functions

inline virtual ~Matcher()
virtual void dispatch(Dispatcher&, std::chrono::nanoseconds next) = 0

Dispatch all pending messages.

virtual void operator()(const Event<GatewaySettings>&) = 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<StatisticsUpdate>&) = 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<CreateOrder>&) = 0
virtual void operator()(const Event<ModifyOrder>&) = 0
virtual void operator()(const Event<CancelOrder>&) = 0
virtual void operator()(const Event<CancelAllOrders>&) = 0
virtual void operator()(const Event<PositionUpdate>&) = 0
virtual void operator()(const Event<FundsUpdate>&) = 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<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 std::pair<bool, std::chrono::nanoseconds> fetch() = 0

Fetch information about the next message.

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