#pragma once
#include <cstddef>
#include <cstdint>
enum class Real_Time_Data_Retention {
    latest,
    history
};
enum class Real_Time_Data_Observation_Event {
    updated,
    cleared,
    discarded
};
struct Real_Time_Data_Update_State {
    const void* source{};
    Real_Time_Data_Retention retention{Real_Time_Data_Retention::latest};
    std::uint64_t revision{};
    std::uint64_t update_time_ns{};
    std::uint64_t total_update_count{};
    std::size_t retained_value_count{};
};
struct Real_Time_Data_Observation {
    Real_Time_Data_Observation_Event event{};
    Real_Time_Data_Update_State state;
};
