CTR-Pia  5.4.3
Game Communication Engine
 全て クラス ネームスペース 関数 変数 型定義 列挙型 列挙型の値 ページ
構造体 nn::pia::transport::Transport::Setting

CreateInstance() に各種パラメータを渡すための構造体です。 [詳細]

Public メソッド

 Setting ()
 デフォルトコンストラクタです。
 
 Setting (NetworkFactory *pFactory, uint16_t maxStationNum=0, uint32_t maxSendThreadBufferNum=0, uint32_t maxReceiveThreadBufferNum=0, int32_t analysisInterval=0, bool isAnalysisAutoPrintDetail=true, bool isAnalysisAutoPrintTotalOnly=false)
 引数つきコンストラクタです。引数で指定した値が各メンバ変数にセットされます。
 

Public 変数

int32_t analysisInterval
 TransportAnalyzer 機能による測定結果を自動的にコンソールに出力する間隔です。単位は秒です。0 を指定した場合、出力は自動では行われなくなり、データの取得はアプリケーションに委ねられます。
 
bool isAnalysisAutoPrintDetail
 TransportAnalyzer 機能による測定結果を自動的にコンソールに出力する際に、Pia 内部で使用されているプロトコルも出力する場合は true を設定します。
 
bool isAnalysisAutoPrintTotalOnly
 TransportAnalyzer 機能による測定結果を自動的にコンソールに出力する際に、ユニキャスト送信とブロードキャスト送信の解析結果も出力する場合は false を設定します。
 
uint32_t maxReceiveThreadBufferNum
 Pia 内部の受信スレッドにおける受信パケット用バッファの個数です(1個につき約1.5KB)。 2 以上の値を設定する必要があります。
 
uint32_t maxSendThreadBufferNum
 Pia 内部の送信スレッドにおける送信パケット用バッファの個数です(1個につき約1.5KB)。 2 以上の値を設定する必要があります。
 
uint16_t maxStationNum
 一つのネットワークに参加可能な最大 Station 数を指定します。
 
NetworkFactorypFactory
 NetworkFactory から派生させた具象クラスのインスタンスを指すポインタ(ファクトリパターン)。
 

説明

CreateInstance() に各種パラメータを渡すための構造体です。

この構造体に設定する内部バッファのパラメータは、 PiaTransport のメモリ使用量に 直結します。大きな値を設定すれば、送受信処理において内部バッファ枯渇による ResultBufferIsFull エラーの発生頻度を低減させることができ、スムーズな通信処理が 期待できますが、もちろんメモリ使用量は増大します。 PiaTransport にとって必要十分なメモリ量は、アプリケーションの通信仕様に依存します。 これらのパラメータをチューニングするのを支援する手段として、 common::WatermarkManager を用意しています。 このウォーターマーク機能を用いると、実際にプログラムを動作させた際に、 内部バッファ使用量のピーク値などを取得できるので、アプリケーションプログラマが 適切な Pia の内部バッファサイズを決定するのに役立ちます。

参照
CreateInstance, common::WatermarkManager, ThreadStreamManager
nn::pia::local::UdsNetworkFactory
nn::pia::inet::NexNetworkFactory
nn::pia::lan::LanNetworkFactory

コンストラクタとデストラクタ

nn::pia::transport::Transport::Setting::Setting ( NetworkFactory pFactory,
uint16_t  maxStationNum = 0,
uint32_t  maxSendThreadBufferNum = 0,
uint32_t  maxReceiveThreadBufferNum = 0,
int32_t  analysisInterval = 0,
bool  isAnalysisAutoPrintDetail = true,
bool  isAnalysisAutoPrintTotalOnly = false 
)

引数つきコンストラクタです。引数で指定した値が各メンバ変数にセットされます。

引数
[in]pFactoryNetworkFactory から派生させた具象クラスのインスタンスを指すポインタ(ファクトリパターン)。
[in]maxStationNum一つのネットワークに参加可能な最大 Station 数を指定します。
[in]maxSendThreadBufferNumPia 内部の送信スレッドにおける送信パケット用バッファの個数です(1個につき約1.5KB)。 2 以上の値を設定する必要があります。
[in]maxReceiveThreadBufferNumPia 内部の受信スレッドにおける受信パケット用バッファの個数です(1個につき約1.5KB)。 2 以上の値を設定する必要があります。
[in]analysisIntervalTransportAnalyzer による分析データを自動的にコンソールに出力する間隔です。単位は秒です。0 を指定した場合、出力は自動では行われなくなり、データの取得はアプリケーションに委ねられます。
[in]isAnalysisAutoPrintDetailTransportAnalyzer による分析データを自動的にコンソールに出力する際に、Pia 内部で使用されているプロトコルも出力する場合は true を設定します。
[in]isAnalysisAutoPrintTotalOnlyTransportAnalyzer による分析データを自動的にコンソールに出力する際に、ユニキャスト送信とブロードキャスト送信を分けた分析データも出力する場合は false を設定します。インターネット通信時にはこの設定は無視され、これらを分けた分析データは出力されません。
参照
nn::pia::local::UdsNetworkFactory
nn::pia::inet::NexNetworkFactory
nn::pia::lan::LanNetworkFactory