Zao SDK for Jetson / libzao-endpoint API リファレンス 1.5.0.0 (2024-09-25)
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
15 public:
23 LineDataEntry() noexcept {}
24
52 LineDataEntry(bool active, std::uint32_t remain, std::uint32_t send_packets,
53 std::uint32_t timeout_count, std::uint32_t nack_count,
54 std::uint32_t resend_packets, std::uint32_t est_rate,
55 std::uint32_t act_rate, std::uint32_t rtt,
56 std::uint32_t recv_packets, std::uint32_t recv_rate) noexcept
57 : active_(active),
58 remain_(remain),
59 send_packets_(send_packets),
60 timeout_count_(timeout_count),
61 nack_count_(nack_count),
62 resend_packets_(resend_packets),
63 est_rate_(est_rate),
64 act_rate_(act_rate),
65 rtt_(rtt),
66 recv_packets_(recv_packets),
67 recv_rate_(recv_rate) {}
72 bool active_ = false;
77 std::uint32_t remain_ = 0;
82 std::uint32_t send_packets_ = 0;
87 std::uint32_t timeout_count_ = 0;
92 std::uint32_t nack_count_ = 0;
97 std::uint32_t resend_packets_ = 0;
102 std::uint32_t est_rate_ = 0;
107 std::uint32_t act_rate_ = 0;
112 std::uint32_t rtt_ = 0;
117 std::uint32_t recv_packets_ = 0;
122 std::uint32_t recv_rate_ = 0;
123};
124
129class LineData {
130 public:
135 LineData() noexcept {}
136
144 void SetLineData(const LineDataEntry& line_data) noexcept {
145 line_data_.push_back(line_data);
146 }
147
152 std::vector<LineDataEntry> GetLineData() const noexcept { return line_data_; }
153
165 bool GetLineData(std::uint8_t number,
166 LineDataEntry& line_data) const noexcept {
167 auto index = number - 1;
168 if (index < static_cast<std::uint8_t>(line_data_.size())) {
169 line_data = line_data_.at(index);
170 return true;
171 }
172 return false;
173 }
174
175 private:
180 std::vector<LineDataEntry> line_data_;
181};
182
183} // namespace monitor
184} // namespace endpoint
185} // namespace zao
186
187#endif // ZAO_ENDPOINT_MONITOR_LINE_DATA_HPP_
RASCOW2 line データクラス.
Definition LineData.hpp:129
void SetLineData(const LineDataEntry &line_data) noexcept
RASCOW2 Line データを LineDataEntry 構造体の動的配列に追加する.
Definition LineData.hpp:144
std::vector< LineDataEntry > GetLineData() const noexcept
LineDataEntry 構造体の動的配列を取得する.
Definition LineData.hpp:152
LineData() noexcept
LineData オブジェクトをデフォルト構築する.
Definition LineData.hpp:135
bool GetLineData(std::uint8_t number, LineDataEntry &line_data) const noexcept
指定した回線番号の LineDataEntry 構造体を取得する.
Definition LineData.hpp:165
Zao製品共通の名前空間
Definition FactoryInterface.hpp:11
RASCOW2 Line データ情報フォーマット
Definition LineData.hpp:14
std::uint32_t recv_rate_
経路毎の受信ビットレート(瞬間)
Definition LineData.hpp:122
std::uint32_t est_rate_
経路毎の推定レート(瞬間)
Definition LineData.hpp:102
std::uint32_t recv_packets_
経路毎の受信パケット数(瞬間)
Definition LineData.hpp:117
std::uint32_t send_packets_
経路毎の送信パケット数(累計)
Definition LineData.hpp:82
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:52
std::uint32_t rtt_
経路毎のRTT(瞬間)
Definition LineData.hpp:112
std::uint32_t timeout_count_
経路毎のタイムアウト数(累計)
Definition LineData.hpp:87
bool active_
経路毎の有効状態
Definition LineData.hpp:72
LineDataEntry() noexcept
LineDataEntry オブジェクトをデフォルト構築する.
Definition LineData.hpp:23
std::uint32_t remain_
経路毎の滞留時間
Definition LineData.hpp:77
std::uint32_t nack_count_
経路毎の NACK 数(累計)
Definition LineData.hpp:92
std::uint32_t act_rate_
経路毎のACKで算出した受信レート(瞬間)
Definition LineData.hpp:107
std::uint32_t resend_packets_
経路毎の再送信パケット数(累計)
Definition LineData.hpp:97