59#include <shared_mutex>
60#include <unordered_map>
98 void update(uint64_t seq, uint64_t guid = 0) noexcept;
122 struct Number final {
124 uint64_t expected{0};
128 std::unordered_map<uint64_t, Number> number_map_;
129 mutable std::shared_mutex mtx_;
Thread-safe, per-GUID cumulative sample loss counter.
Definition calculate_sample.h:75
CalculateSample() noexcept
Default constructor.
uint64_t get_total() const noexcept
Returns the total number of expected samples across all senders.
uint64_t get_lost() const noexcept
Returns the cumulative number of lost samples across all senders.
void update(uint64_t seq, uint64_t guid=0) noexcept
Processes an incoming sequence number for the given sender.
Platform-independent macro definitions for the VLink library.
#define VLINK_EXPORT
Definition macros.h:85
#define VLINK_DISALLOW_COPY_AND_ASSIGN(classname)
Deletes the copy constructor and copy-assignment operator of classname.
Definition macros.h:184