Diarkis C++Client Library API Document
profile.h
Go to the documentation of this file.
1 // © 2019-2024 Diarkis Inc. All rights reserved.
2 
3 #pragma once
4 
5 #include <stdint.h>
6 #include <chrono>
7 #include <vector>
8 #include "diarkis/diarkis_export.h"
9 
17 {
24  int64_t timestamp;
25 
32  int64_t value;
33 };
34 
35 // ADD NAMESPACE NAME TAG
36 namespace Diarkis { namespace Network
37 {
38 
40  {
41  public:
42  virtual ~IDiarkisProfile() { }
43 
56  virtual void SetupProfile(const char* uid, uint32_t interval, uint32_t buffer, bool p2pRandomStart = true) = 0;
57 
64  virtual void EnableP2P(bool enable) = 0;
65 
72  virtual void EnableRoom(bool enable) = 0;
73 
80  virtual void SetSendInterval(uint32_t interval) = 0;
81 
92  virtual Diarkis::StdVector<struct DiarkisRTTSample> GetP2PRTTSamples(const char* uid, bool order) = 0;
93 
102  virtual int64_t GetP2PAverageRTT(const char* uid) = 0;
103 
112  virtual int64_t GetP2PMaxRTT(const char* uid) = 0;
113 
122  virtual int64_t GetP2PMinRTT(const char* uid) = 0;
123 
132  virtual int64_t GetP2PMedianRTT(const char* uid) = 0;
133 
142  virtual float GetP2PPacketLossRate(const char* uid) = 0;
143 
154  virtual Diarkis::StdVector<struct DiarkisRTTSample> GetRoomRTTSamples(const char* uid, bool order) = 0;
155 
164  virtual int64_t GetRoomAverageRTT(const char* uid) = 0;
165 
174  virtual int64_t GetRoomMaxRTT(const char* uid) = 0;
175 
184  virtual int64_t GetRoomMinRTT(const char* uid) = 0;
185 
194  virtual int64_t GetRoomMedianRTT(const char* uid) = 0;
195 
204  virtual float GetRoomPacketLossRate(const char* uid) = 0;
205 
214  virtual void ClearP2PBuffer() = 0;
215 
222  virtual void ClearP2PBuffer(const char* uid) = 0;
223 
232  virtual void ClearRoomBuffer() = 0;
233 
242  virtual void ClearRoomBuffer(const char* uid) = 0;
243 
254  virtual bool DeleteRoomProfile(const char* targetUid) = 0;
255  };
256 
257 }}
258 // ADD NAMESPACE } TAG
Diarkis::Network::IDiarkisProfile::GetRoomRTTSamples
virtual Diarkis::StdVector< struct DiarkisRTTSample > GetRoomRTTSamples(const char *uid, bool order)=0
Return all RTT samples inside a buffer measured by Room (through a server)
Diarkis::Network::IDiarkisProfile::GetRoomAverageRTT
virtual int64_t GetRoomAverageRTT(const char *uid)=0
ルーム通信によって測定された平均RTT値を取得する
Diarkis::Network::IDiarkisProfile
Definition: profile.h:39
Diarkis::Network::IDiarkisProfile::GetP2PMedianRTT
virtual int64_t GetP2PMedianRTT(const char *uid)=0
P2P通信によって計測されたバッファ内の中央のRTT値を取得する
Diarkis::Network::IDiarkisProfile::SetSendInterval
virtual void SetSendInterval(uint32_t interval)=0
Change the frequency of profile packets sent.
DiarkisRTTSample::timestamp
int64_t timestamp
Time when the packet to measure the RTT was transmitted. Represent the time elapsed since the SetupPr...
Definition: profile.h:24
Diarkis::Network::IDiarkisProfile::GetRoomMedianRTT
virtual int64_t GetRoomMedianRTT(const char *uid)=0
Room通信によって測定された中央値RTT値を取得する
Diarkis::Network::IDiarkisProfile::EnableP2P
virtual void EnableP2P(bool enable)=0
Enabling and disabling profile functionality via P2P communication.
Diarkis::Network::IDiarkisProfile::~IDiarkisProfile
virtual ~IDiarkisProfile()
Definition: profile.h:42
Diarkis::StdVector
Definition: common.h:406
Diarkis::Network::IDiarkisProfile::ClearRoomBuffer
virtual void ClearRoomBuffer()=0
Roomに格納されているすべてのプロファイル値をクリアします
Diarkis::Network::IDiarkisProfile::GetP2PAverageRTT
virtual int64_t GetP2PAverageRTT(const char *uid)=0
P2P通信によって測定されたバッファ内の平均RTT値を取得します
Diarkis::Network::IDiarkisProfile::GetP2PPacketLossRate
virtual float GetP2PPacketLossRate(const char *uid)=0
P2P通信で測定されたパケット損失率を取得する
Diarkis::Network::IDiarkisProfile::GetRoomPacketLossRate
virtual float GetRoomPacketLossRate(const char *uid)=0
Room通信によって測定されたパケットロス率を取得する
Diarkis::Network::IDiarkisProfile::GetRoomMinRTT
virtual int64_t GetRoomMinRTT(const char *uid)=0
Room通信で測定された最小RTT値を取得する
DiarkisRTTSample
Represent the sampled value of RTT.
Definition: profile.h:16
Diarkis
Definition: commands.h:9
Diarkis::Network::IDiarkisProfile::ClearP2PBuffer
virtual void ClearP2PBuffer()=0
P2P用のバッファに格納されているすべてのプロファイル値をクリアします
DiarkisRTTSample::value
int64_t value
RTT value measured by packets sent at timestamp time (ms)
Definition: profile.h:32
Diarkis::Network::IDiarkisProfile::GetP2PRTTSamples
virtual Diarkis::StdVector< struct DiarkisRTTSample > GetP2PRTTSamples(const char *uid, bool order)=0
Return all RTT samples inside a buffer measured by P2P.
Diarkis::Network::IDiarkisProfile::EnableRoom
virtual void EnableRoom(bool enable)=0
Enabling and disabling profile functionality via Room.
Diarkis::Network::IDiarkisProfile::GetP2PMaxRTT
virtual int64_t GetP2PMaxRTT(const char *uid)=0
P2P通信で測定されたバッファ内の最大RTT値を取得します
Diarkis::Network::IDiarkisProfile::GetP2PMinRTT
virtual int64_t GetP2PMinRTT(const char *uid)=0
P2P通信で測定されたバッファ内の最小RTT値を取得する
Diarkis::Network::IDiarkisProfile::SetupProfile
virtual void SetupProfile(const char *uid, uint32_t interval, uint32_t buffer, bool p2pRandomStart=true)=0
Diarkis::Network::IDiarkisProfile::DeleteRoomProfile
virtual bool DeleteRoomProfile(const char *targetUid)=0
Delete the specified room member profile instance.
Diarkis::Network::IDiarkisProfile::GetRoomMaxRTT
virtual int64_t GetRoomMaxRTT(const char *uid)=0
Room通信によって測定された最大RTT値を取得する