FastMM documentation
FastMM C++ API 0.6.0
Public headers, tier 1 and tier 2
Loading...
Searching...
No Matches
order_events.hpp File Reference

Helpers that build the normalised order/connection events a connector emits from its control logic (WebSocket API responses, REST replies, local rejects). More...

#include "fastmm/core/messages.hpp"
#include "fastmm/core/time.hpp"
#include "fastmm/venues/decimal.hpp"
#include "fastmm/venues/event_sink.hpp"
#include <x86intrin.h>
#include <cstdint>
#include <string_view>

Go to the source code of this file.

Namespaces

namespace  fastmm
 
namespace  fastmm::venues
 

Functions

void fastmm::venues::emit_order_reject (EventSink &sink, VenueId venue, InstrumentId inst, ClientOrderId id, RejectReason reason, int code, std::string_view text) noexcept
 
void fastmm::venues::emit_cancel_reject (EventSink &sink, VenueId venue, InstrumentId inst, ClientOrderId id, RejectReason reason, int code, std::string_view text) noexcept
 
void fastmm::venues::emit_order_ack (EventSink &sink, VenueId venue, InstrumentId inst, ClientOrderId id, std::string_view venue_order_id, std::uint8_t flags=0, Timestamp venue_ts=Timestamp{}) noexcept
 flags: OrderAckMsg::kAmendedInPlace when the venue amended the resting order rather than creating a new one.
 
void fastmm::venues::emit_cancel_ack (EventSink &sink, VenueId venue, InstrumentId inst, ClientOrderId id, std::string_view venue_order_id, Qty cum_qty, Timestamp venue_ts=Timestamp{}) noexcept
 venue_ts as for emit_order_ack.
 
void fastmm::venues::emit_replayed_fill (EventSink &sink, VenueId venue, InstrumentId inst, ClientOrderId id, std::string_view venue_order_id, std::string_view exec_id, Side side, Price price, Qty qty, Notional fee, FeeAsset fee_asset, Liquidity liquidity, std::int64_t trade_time_ms, std::uint8_t extra_flags=0) noexcept
 An execution from the venue's trade history (Venue::request_executions), not from the private stream.
 
void fastmm::venues::emit_funding (EventSink &sink, VenueId venue, InstrumentId inst, std::string_view funding_id, Notional amount, std::string_view asset, std::int64_t time_ms, bool replayed) noexcept
 A funding payment (FundingMsg): amount signed in asset, negative paid.
 
void fastmm::venues::emit_venue_kill (EventSink &sink, VenueId venue, KillReason reason) noexcept
 The connector cannot trade on this venue any more (error map HardStop / Fatal, failed authentication): asks the engine to trip this venue's kill switch only (ControlCommand::TripVenueKill, the reason in arg).
 
void fastmm::venues::emit_connection_state (EventSink &sink, VenueId venue, std::uint8_t channel, ConnState state, std::int32_t reason=0) noexcept
 channel: 0 = market data, 1 = order/user stream (ConnectionStateMsg contract).
 

Detailed Description

Helpers that build the normalised order/connection events a connector emits from its control logic (WebSocket API responses, REST replies, local rejects).

Each constructs the message on the stack and copies it into the order EventSink (fixed-size messages only, so hdr.len == sizeof(M)).