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

#include <fastmm/core/venue_health.hpp>

Public Member Functions

FASTMM_FORCE_INLINE bool on_md (VenueId v, std::int64_t lag, Timestamp now, Duration limit) noexcept
 A market-data message of venue v with lag = recv_ts - exch_ts, consumed at now.
 
void on_ack (VenueId v, Duration rtt, Timestamp now) noexcept
 
FASTMM_FORCE_INLINE bool gated (VenueId v, Timestamp now) const noexcept
 
VenueHealthView view (VenueId v, Timestamp now) const noexcept
 

Static Public Attributes

static constexpr std::size_t kVenues = 8
 kMaxVenues
 
static constexpr std::size_t kBuckets = 8
 
static constexpr Duration kBucket = seconds(1)
 
static constexpr Duration kWindow = Duration{kBucket.ns * static_cast<std::int64_t>(kBuckets)}
 
static constexpr Duration kGateHold = milliseconds(100)
 

Member Function Documentation

◆ on_md()

FASTMM_FORCE_INLINE bool fastmm::VenueHealth::on_md ( VenueId  v,
std::int64_t  lag,
Timestamp  now,
Duration  limit 
)
inlinenoexcept

A market-data message of venue v with lag = recv_ts - exch_ts, consumed at now.

With limit > 0, returns true when the message engages the gate (it was not holding the venue).

◆ on_ack()

void fastmm::VenueHealth::on_ack ( VenueId  v,
Duration  rtt,
Timestamp  now 
)
inlinenoexcept

◆ gated()

FASTMM_FORCE_INLINE bool fastmm::VenueHealth::gated ( VenueId  v,
Timestamp  now 
) const
inlinenoexcept

◆ view()

VenueHealthView fastmm::VenueHealth::view ( VenueId  v,
Timestamp  now 
) const
inlinenoexcept

Member Data Documentation

◆ kVenues

constexpr std::size_t fastmm::VenueHealth::kVenues = 8
staticconstexpr

kMaxVenues

◆ kBuckets

constexpr std::size_t fastmm::VenueHealth::kBuckets = 8
staticconstexpr

◆ kBucket

constexpr Duration fastmm::VenueHealth::kBucket = seconds(1)
staticconstexpr

◆ kWindow

constexpr Duration fastmm::VenueHealth::kWindow = Duration{kBucket.ns * static_cast<std::int64_t>(kBuckets)}
staticconstexpr

◆ kGateHold

constexpr Duration fastmm::VenueHealth::kGateHold = milliseconds(100)
staticconstexpr