Simulation

Matcher

class roq::Matcher

Order matching interface used to manage a simulated order book.

Public Functions

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

Dispatch all pending messages.

void operator()(const Event<MarketDataStatus>&) = 0
void operator()(const Event<OrderManagerStatus>&) = 0
void operator()(const Event<ReferenceData>&) = 0
void operator()(const Event<MarketStatus>&) = 0
void operator()(const Event<StatisticsUpdate>&) = 0
void operator()(const Event<TopOfBook>&) = 0
void operator()(const Event<MarketByPriceUpdate>&) = 0
void operator()(const Event<MarketByOrderUpdate>&) = 0
void operator()(const Event<TradeSummary>&) = 0
void operator()(const Event<CreateOrder>&) = 0
void operator()(const Event<ModifyOrder>&) = 0
void operator()(const Event<CancelOrder>&) = 0
void operator()(const Event<PositionUpdate>&) = 0
void operator()(const Event<FundsUpdate>&) = 0
class Dispatcher

Dispatch interface used to handle (possibly processed) events.

Public Functions

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

Generator

class roq::Generator

Generator interface used to manage a sequence of messages.

Public Functions

~Generator()
std::pair<bool, std::chrono::nanoseconds> fetch() = 0

Fetch information about the next message.

void dispatch(Dispatcher &dispatcher) = 0

Request the next message to be dispatched.

class Dispatcher

Dispatch interface used to handle update events.

Public Functions

void operator()(const Event<MarketDataStatus>&) = 0
void operator()(const Event<OrderManagerStatus>&) = 0
void operator()(const Event<ReferenceData>&) = 0
void operator()(const Event<MarketStatus>&) = 0
void operator()(const Event<TopOfBook>&) = 0
void operator()(const Event<MarketByPriceUpdate>&) = 0
void operator()(const Event<MarketByOrderUpdate>&) = 0
void operator()(const Event<TradeSummary>&) = 0
void operator()(const Event<StatisticsUpdate>&) = 0
void operator()(const Event<PositionUpdate>&) = 0
void operator()(const Event<FundsUpdate>&) = 0