CTR-Pia  5.4.3
Game Communication Engine
 全て クラス ネームスペース 関数 変数 型定義 列挙型 列挙型の値 ページ
transport_ConnectionAnalysisData.h
1 /*--------------------------------------------------------------------------------*
2  Copyright (C)Nintendo All rights reserved.
3 
4  These coded instructions, statements, and computer programs contain proprietary
5  information of Nintendo and/or its licensed developers and are protected by
6  national and international copyright laws. They may not be disclosed to third
7  parties or copied or duplicated in any form, in whole or in part, without the
8  prior written consent of Nintendo.
9 
10  The content herein is highly confidential and should be handled accordingly.
11  *--------------------------------------------------------------------------------*/
12 
13 
14 #pragma once
15 
16 #include <nn/pia/transport/transport_Definitions.h>
17 
18 
19 namespace nn
20 {
21 namespace pia
22 {
23 namespace transport
24 {
25 
26 
27 /*!
28  @brief ConnectionAnalysisData は、接続品質に関係するパラメータ(RTT、パケロス率)をまとめた構造体です。
29  */
31 {
32  static const int32_t MaxEntries = MaxStationNum;
33 
34  /*!
35  @brief メンバの内容をクリアします。
36  */
37  void Clear();
38 
39 
40  /*!
41  @brief 解析結果を Station ごとに集計するためのエントリ構造体です。
42  */
43  struct Entry
44  {
45  int32_t rtt; //!< RTT。
46  int32_t rttMin; //!< 最小 RTT。
47  int32_t rttMax; //!< 最大 RTT。
48 
49  uint32_t prevTotalPacketNum; //!< 前回のパケット数。
50  uint32_t currTotalPacketNum; //!< 今回のパケット数。
51 
52  uint32_t prevPacketLossNum; //!< 前回のパケットロス数
53  uint32_t currPacketLossNum; //!< 今回のパケットロス数
54 
55  bool isValid; //!< このエントリが有効なエントリであれば true がセットされます。
56  };
57 
58  struct Entry entry[MaxEntries]; //!< エントリ。
59  int32_t passedMilliSec; //!< 経過時間(単位はミリ秒)
60 
61 
62  /*!
63  @brief データをコンソールに出力します(リリースビルド以外)。
64 
65  @param[in] bDetail Pia 内部実装に関係するデータも出力する場合に true に設定します。
66  */
67  void Print(bool bDetail) const;
68 
69 
70  /*!
71  @brief デバッグに有用な情報をプリントします。
72 
73  @param[in] flag トレースフラグの論理和。詳細は @ref TraceFlag 型を参照してください。
74  */
75  void Trace(uint64_t flag) const;
76 };
77 }
78 }
79 } // end of namespace nn::pia::transport