FastMM documentation
FastMM C++ API 0.6.0
Public headers, tier 1 and tier 2
Loading...
Searching...
No Matches
fastmm::RecordHeader Struct Reference

#include <fastmm/core/record_stream.hpp>

Public Types

enum  Flags : std::uint8_t {
  kSynthetic = 1U << 0 , kLate = 1U << 1 , kUnknown = 1U << 2 , kTerminal = 1U << 3 ,
  kVenue = 1U << 4 , kReplayed = 1U << 5
}
 

Public Attributes

std::uint32_t len
 total bytes, a multiple of 64 (offset 0)
 
RecordType type
 (4)
 
std::uint8_t version
 kRecordVersion (5)
 
VenueId venue
 (6)
 
std::uint8_t flags
 (7)
 
InstrumentId instrument
 invalid when the record is not per instrument (8)
 
std::uint8_t aux [4]
 record-specific small fields (12)
 
std::uint64_t seq
 record order within the session, from 1 (16)
 
Timestamp engine_ts
 the engine clock the record was made at (24)
 
Timestamp wall_ts
 wall clock at the same point (32)
 
std::uint64_t session_id
 (40)
 
Timestamp exch_ts
 The venue's time of the event behind the record (a fill: the trade time the venue reported), 0 when there is none.
 
std::uint8_t pad_ [8]
 -> 64
 

Member Enumeration Documentation

◆ Flags

enum fastmm::RecordHeader::Flags : std::uint8_t
Enumerator
kSynthetic 

booked by the engine, not reported by the venue (a cum_qty jump)

kLate 

fill for an order that was already terminal; on an order record, that fill's update of the order (only cum_qty and state are valid)

kUnknown 

fill for an order id the OMS does not know

kTerminal 

the order reached a terminal state with this record

kVenue 

kill record: one venue's switch, not the global one

kReplayed 

funding record: from the venue's history, not its private stream

Member Data Documentation

◆ len

std::uint32_t fastmm::RecordHeader::len

total bytes, a multiple of 64 (offset 0)

◆ type

RecordType fastmm::RecordHeader::type

(4)

◆ version

std::uint8_t fastmm::RecordHeader::version

kRecordVersion (5)

◆ venue

VenueId fastmm::RecordHeader::venue

(6)

◆ flags

std::uint8_t fastmm::RecordHeader::flags

(7)

◆ instrument

InstrumentId fastmm::RecordHeader::instrument

invalid when the record is not per instrument (8)

◆ aux

std::uint8_t fastmm::RecordHeader::aux[4]

record-specific small fields (12)

◆ seq

std::uint64_t fastmm::RecordHeader::seq

record order within the session, from 1 (16)

◆ engine_ts

Timestamp fastmm::RecordHeader::engine_ts

the engine clock the record was made at (24)

◆ wall_ts

Timestamp fastmm::RecordHeader::wall_ts

wall clock at the same point (32)

◆ session_id

std::uint64_t fastmm::RecordHeader::session_id

(40)

◆ exch_ts

Timestamp fastmm::RecordHeader::exch_ts

The venue's time of the event behind the record (a fill: the trade time the venue reported), 0 when there is none.

A restart resumes the venue's execution replay from it (store/reader.hpp). (48)

◆ pad_

std::uint8_t fastmm::RecordHeader::pad_[8]

-> 64