18#ifndef O2_DCS_DATAPOINT_VALUE 
   19#define O2_DCS_DATAPOINT_VALUE 
  335    const uint16_t 
flags,
 
  336    const uint16_t milliseconds,
 
  337    const uint32_t seconds,
 
  338    const uint64_t* 
const payload) noexcept : 
flags(
flags), 
msec(milliseconds), 
sec(seconds)
 
 
  364    const uint16_t 
flags,
 
  365    const uint16_t milliseconds,
 
  366    const uint32_t seconds,
 
  367    const uint64_t* 
const payload,
 
 
  386    const uint64_t* 
const data,
 
  396        this->payload_pt1 = 
data[0] & 0x00000000FFFFFFFF;
 
  400        this->payload_pt1 = (
data[0] ? 1 : 0);
 
  404        this->payload_pt1 = 
data[0] & 0x00000000000000FF;
 
  410        this->payload_pt1 = 
data[0];
 
  428        throw std::domain_error(
"Invalid DeliveryType.");
 
 
  449    msec = current_time % 1000;
 
  450    sec = current_time / 1000;
 
 
  465#if defined(__linux__) || defined(__APPLE__) 
  468    std::time_t ts((uint64_t)
sec);
 
  469    std::strftime(
buffer, 32, 
"%FT%T", std::gmtime(&ts));
 
  470    std::ostringstream oss;
 
  472    return std::make_unique<std::string>(
 
  473      std::move(oss.str()));
 
  475    return std::make_unique<std::string>(
"Unsupported platform");
 
 
  487    return (((uint64_t)
sec) * 1000) + 
msec;
 
 
  524    return !(*
this == 
other);
 
 
  544    const uint16_t 
flags,
 
  545    const uint16_t milliseconds,
 
  546    const uint32_t seconds,
 
  547    const uint64_t* 
const payload,
 
  551    this->msec = milliseconds;
 
 
  572    const uint16_t milliseconds,
 
  573    const uint32_t seconds,
 
  574    const uint64_t* 
const payload,
 
 
  597    const uint64_t* 
const data,
 
  600    this->flags = 
data[0];
 
  601    this->msec = 
data[0] >> 16;
 
  602    this->sec = 
data[0] >> 32;
 
 
  616              << ((dpval.flags & 
END_FLAG) ? 
"Z" : 
"-")
 
  617              << ((dpval.flags & 
FBI_FLAG) ? 
"M" : 
"-")
 
  618              << ((dpval.flags & 
NEW_FLAG) ? 
"N" : 
"-")
 
  620              << ((dpval.flags & 
TURN_FLAG) ? 
"U" : 
"-")
 
  622              << ((dpval.flags & 
READ_FLAG) ? 
"R " : 
"- ")
 
  631              << *(dpval.get_timestamp());
 
 
  667    flags &= ~WRITE_FLAG;
 
 
 
GLint GLint GLsizei GLint GLenum GLenum type
 
uint64_t epoch_time() noexcept
 
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
 
std::string to_string(gsl::span< T, Size > span)
 
DataPointValue(const DataPointValue &other)=default
 
uint64_t get_epoch_time() const noexcept
 
void set_payload(const uint64_t *const data, const DeliveryType type)
 
void set(const uint16_t milliseconds, const uint32_t seconds, const uint64_t *const payload, const DeliveryType type)
 
static constexpr uint16_t BAD_TIMESTAMP_FLAG
 
static constexpr uint16_t WRITE_FLAG
 
static constexpr uint16_t DIRTY_FLAG
 
static constexpr uint64_t TURN_FLAG
 
void update_timestamp() noexcept
 
DataPointValue & operator=(const DataPointValue &other)=default
 
static constexpr uint16_t FBI_FLAG
 
static constexpr uint16_t END_FLAG
 
static constexpr uint16_t BAD_PAYLOAD_FLAG
 
static constexpr uint16_t ERROR_MASK
 
uint16_t get_flags() const noexcept
 
static constexpr uint16_t BAD_DPID_FLAG
 
void set(const uint16_t flags, const uint16_t milliseconds, const uint32_t seconds, const uint64_t *const payload, const DeliveryType type)
 
static constexpr uint16_t KEEP_ALIVE_FLAG
 
bool operator==(const DataPointValue &other) const noexcept
 
DataPointValue(const uint16_t flags, const uint16_t milliseconds, const uint32_t seconds, const uint64_t *const payload) noexcept
 
void release_write_lock()
 
void set(const uint64_t *const data, const DeliveryType type)
 
static constexpr uint16_t DIM_ERROR_FLAG
 
static constexpr uint16_t SESSION_MASK
 
static constexpr uint16_t OVERWRITE_FLAG
 
friend std::ostream & operator<<(std::ostream &os, const DataPointValue &dpval) noexcept
 
std::unique_ptr< std::string > get_timestamp() const noexcept
 
static constexpr uint16_t BAD_FBI_FLAG
 
static constexpr uint16_t VICTIM_FLAG
 
static constexpr uint16_t BAD_FLAGS_FLAG
 
DataPointValue(const uint16_t flags, const uint16_t milliseconds, const uint32_t seconds, const uint64_t *const payload, const DeliveryType type)
 
void acquire_write_lock()
 
static constexpr uint16_t CONTROL_MASK
 
static constexpr uint16_t READ_FLAG
 
static constexpr uint16_t NEW_FLAG
 
bool operator!=(const DataPointValue &other) const noexcept
 
ClassDefNV(DataPointValue, 1)
 
VectorOfTObjectPtrs other