Decoder#

struct Decoder#

Public Functions

virtual ~Decoder() = default#
virtual size_t operator()(Handler&, std::span<std::byte const> const &data, MessageInfo const&) = 0#

Public Static Functions

static std::unique_ptr<Decoder> create()#
struct Handler#

Public Functions

virtual void operator()(Event<DownloadBegin> const&) = 0#
virtual void operator()(Event<DownloadEnd> const&) = 0#
virtual void operator()(Event<Ready> const&) = 0#
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<RateLimitsUpdate> const&) = 0#
virtual void operator()(Event<RateLimitTrigger> 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<CreateOrder> const&) = 0#
virtual void operator()(Event<ModifyOrder> const&) = 0#
virtual void operator()(Event<CancelOrder> const&) = 0#
virtual void operator()(Event<CancelAllOrders> 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#
virtual void operator()(Event<CustomMetrics> const&) = 0#
virtual void operator()(Event<CustomMetricsUpdate> const&) = 0#
virtual void operator()(Event<CustomMatrix> const&) = 0#
virtual void operator()(Event<CustomMatrixUpdate> const&) = 0#
virtual void operator()(Event<ParametersUpdate> const&) = 0#
virtual void operator()(Event<Portfolio> const&) = 0#
virtual void operator()(Event<PortfolioUpdate> const&) = 0#
virtual void operator()(Event<RiskLimits> const&) = 0#
virtual void operator()(Event<RiskLimitsUpdate> const&) = 0#