Zao SDK for Jetson / libzao-endpoint API リファレンス 1.2.0.0 (2023-10-30)
Loading...
Searching...
No Matches
LineData.hpp
1#ifndef ZAO_ENDPOINT_MONITOR_LINE_DATA_HPP_
2#define ZAO_ENDPOINT_MONITOR_LINE_DATA_HPP_
3
4#include <vector>
5
6namespace zao {
7namespace endpoint {
8namespace monitor {
9
14 public:
19 LineDataEntry() noexcept {}
20
36 LineDataEntry(bool active, std::uint32_t remain, std::uint32_t send_packets,
37 std::uint32_t timeout_count, std::uint32_t nack_count,
38 std::uint32_t resend_packets, std::uint32_t est_rate,
39 std::uint32_t act_rate, std::uint32_t rtt,
40 std::uint32_t recv_packets, std::uint32_t recv_rate) noexcept
41 : active_(active),
42 remain_(remain),
43 send_packets_(send_packets),
44 timeout_count_(timeout_count),
45 nack_count_(nack_count),
46 resend_packets_(resend_packets),
47 est_rate_(est_rate),
48 act_rate_(act_rate),
49 rtt_(rtt),
50 recv_packets_(recv_packets),
51 recv_rate_(recv_rate) {}
55 bool active_ = false;
59 std::uint32_t remain_ = 0;
63 std::uint32_t send_packets_ = 0;
67 std::uint32_t timeout_count_ = 0;
71 std::uint32_t nack_count_ = 0;
75 std::uint32_t resend_packets_ = 0;
79 std::uint32_t est_rate_ = 0;
83 std::uint32_t act_rate_ = 0;
87 std::uint32_t rtt_ = 0;
91 std::uint32_t recv_packets_ = 0;
95 std::uint32_t recv_rate_ = 0;
96};
97
101class LineData {
102 public:
106 LineData() noexcept {}
107
113 void SetLineData(const LineDataEntry& line_data) noexcept {
114 line_data_.push_back(line_data);
115 }
116
120 std::vector<LineDataEntry> GetLineData() const noexcept { return line_data_; }
121
129 bool GetLineData(std::uint8_t number,
130 LineDataEntry& line_data) const noexcept {
131 auto index = number - 1;
132 if (index < static_cast<std::uint8_t>(line_data_.size())) {
133 line_data = line_data_.at(index);
134 return true;
135 }
136 return false;
137 }
138
139 private:
143 std::vector<LineDataEntry> line_data_;
144};
145
146} // namespace monitor
147} // namespace endpoint
148} // namespace zao
149
150#endif // ZAO_ENDPOINT_MONITOR_LINE_DATA_HPP_
RASCOW2 line データクラス.
Definition LineData.hpp:101
void SetLineData(const LineDataEntry &line_data) noexcept
RASCOW2 Line データを LineDataEntry 構造体の動的配列に追加する.
Definition LineData.hpp:113
std::vector< LineDataEntry > GetLineData() const noexcept
LineDataEntry 構造体の動的配列を取得する.
Definition LineData.hpp:120
LineData() noexcept
LineData オブジェクトをデフォルト構築する.
Definition LineData.hpp:106
bool GetLineData(std::uint8_t number, LineDataEntry &line_data) const noexcept
指定した回線番号の LineDataEntry 構造体を取得する.
Definition LineData.hpp:129
Zao製品共通の名前空間
Definition FactoryInterface.hpp:11
RASCOW2 Line データ情報フォーマット
Definition LineData.hpp:13
std::uint32_t recv_rate_
経路毎の受信ビットレート(瞬間)
Definition LineData.hpp:95
std::uint32_t est_rate_
経路毎の推定レート(瞬間)
Definition LineData.hpp:79
std::uint32_t recv_packets_
経路毎の受信パケット数(瞬間)
Definition LineData.hpp:91
std::uint32_t send_packets_
経路毎の送信パケット数(累計)
Definition LineData.hpp:63
LineDataEntry(bool active, std::uint32_t remain, std::uint32_t send_packets, std::uint32_t timeout_count, std::uint32_t nack_count, std::uint32_t resend_packets, std::uint32_t est_rate, std::uint32_t act_rate, std::uint32_t rtt, std::uint32_t recv_packets, std::uint32_t recv_rate) noexcept
LineDataEntry オブジェクトを初期値付きで構築する.
Definition LineData.hpp:36
std::uint32_t rtt_
経路毎のRTT(瞬間)
Definition LineData.hpp:87
std::uint32_t timeout_count_
経路毎のタイムアウト数(累計)
Definition LineData.hpp:67
bool active_
経路毎の有効状態
Definition LineData.hpp:55
LineDataEntry() noexcept
LineDataEntry オブジェクトをデフォルト構築する.
Definition LineData.hpp:19
std::uint32_t remain_
経路毎の滞留時間
Definition LineData.hpp:59
std::uint32_t nack_count_
経路毎の NACK 数(累計)
Definition LineData.hpp:71
std::uint32_t act_rate_
経路毎のACKで算出した受信レート(瞬間)
Definition LineData.hpp:83
std::uint32_t resend_packets_
経路毎の再送信パケット数(累計)
Definition LineData.hpp:75