CTR-Pia
5.4.3
Game Communication Engine
|
イベントの送受信を管理します。 [詳細]
Public 型 | |
typedef uint16_t | Id |
クローンエレメントを識別するための ID の型です。 | |
typedef Value_ | Value |
このイベントで送られる引数の型です。 | |
typedef SerializePolicy< Value > | ValueSerializePolicy |
Value をシリアライズするためのアルゴリズムです。 | |
Public メソッド | |
EventCloneElement () | |
デフォルトコンストラクタです。 | |
virtual | ~EventCloneElement () |
デストラクタです。 | |
ClockValue | GetClock () const |
現在参照中のイベントの発行時刻を取得します。 | |
const CloneBase * | GetCloneBase () const |
このオブジェクトが登録されている CloneBase を取得します。 | |
CloneBase * | GetCloneBase () |
このオブジェクトが登録されている非constな CloneBase を取得します。 | |
Index | GetEventIndex () const |
現在参照中のイベントのインデックスを取得します。 | |
Id | GetId () const |
ID を取得します。 | |
const CloneProtocol * | GetProtocol () const |
このオブジェクトが登録されている CloneBase が登録されている CloneProtocol を取得します。 | |
StationIndex | GetSetterStationIndex () const |
現在参照中のイベントの発行元ステーションインデックスを取得します。 | |
uint32_t | GetUsingBufferNum () const |
現在のイベントバッファの使用数を取得します。 | |
const Value * | GetValue () const |
現在参照中のイベントの値を指すポインタを取得します。 | |
const Value * | HandleNext () |
次のイベントを参照します。 | |
bool | IsEventDropped () const |
イベントの取りこぼしエラーが発生したかどうかを取得します。 | |
bool | IsReadyToSetValue () const |
値を設定できる状態かどうかを判定します。 | |
bool | IsRegisteredWithCloneBase () const |
CloneBase に登録されているかどうかを判定します。 | |
bool | IsRegisteredWithProtocol () const |
CloneProtocol に登録されているかどうかを判定します。 | |
Result | SetValue (const Value &value) |
イベントを発行します。 | |
void | Trace (uint64_t flag) const |
デバッグに有用な情報をプリントします。 | |
プロファイリング | |
enum | Type { Type_Unreliable = 0x1000, Type_Reliable = 0x2000, Type_Event = 0x3000, Type_Reckoning = 0x4000, Type_ReliableLarge = 0x5000 } |
クローンエレメントの種類を表す列挙型です。 [詳細] | |
Result | SetProfiler (CloneProfilerBase *pSendProfiler, CloneProfilerBase *pReceiveProfiler) |
送受信のプロファイリング管理オブジェクトを設定します。 | |
const CloneProfilerBase * | GetSendProfiler () const |
設定されている送信プロファイリング管理オブジェクトを取得します。 | |
const CloneProfilerBase * | GetReceiveProfiler () const |
設定されている受信プロファイリング管理オブジェクトを取得します。 | |
void | ResetProfiler () |
送受信のプロファイリングされた結果をリセットします。 | |
uint32_t | GetProfiledLatestSendCount (StationIndex stationIndex) const |
直近の CloneProfiler::LATEST_BUFFER_SIZE 回の common::Scheduler::Dispatch の間に送信したクローンエレメントデータの個数を取得します。 | |
uint32_t | GetProfiledLatestSendNoCompressedSize (StationIndex stationIndex) const |
直近の CloneProfiler::LATEST_BUFFER_SIZE 回の common::Scheduler::Dispatch の間に送信したクローンエレメントデータの圧縮前のサイズ(バイト)を取得します。 | |
uint32_t | GetProfiledLatestSendUnicastCount (StationIndex stationIndex) const |
直近の CloneProfiler::LATEST_BUFFER_SIZE 回の common::Scheduler::Dispatch の間にユニキャストで送信したクローンエレメントデータの個数を取得します。 | |
uint32_t | GetProfiledLatestSendUnicastSize (StationIndex stationIndex) const |
直近の CloneProfiler::LATEST_BUFFER_SIZE 回の common::Scheduler::Dispatch の間にユニキャストで送信したクローンエレメントデータの圧縮前のサイズ(バイト)を取得します。 | |
uint32_t | GetProfiledLatestResendCount (StationIndex stationIndex) const |
直近の CloneProfiler::LATEST_BUFFER_SIZE 回の common::Scheduler::Dispatch の間に再送したクローンエレメントデータの個数を取得します。 | |
uint32_t | GetProfiledLatestResendSize (StationIndex stationIndex) const |
直近の CloneProfiler::LATEST_BUFFER_SIZE 回の common::Scheduler::Dispatch の間に再送したクローンエレメントデータの圧縮前のサイズ(バイト)を取得します。 | |
uint32_t | GetProfiledLatestSendSystemCount (StationIndex stationIndex) const |
直近の CloneProfiler::LATEST_BUFFER_SIZE 回の common::Scheduler::Dispatch の間に送信したシステム用クローンエレメントデータの個数を取得します。 | |
uint32_t | GetProfiledLatestSendSystemSize (StationIndex stationIndex) const |
直近の CloneProfiler::LATEST_BUFFER_SIZE 回の common::Scheduler::Dispatch の間に送信したシステム用クローンエレメントデータの圧縮前のサイズ(バイト)を取得します。 | |
uint32_t | GetProfiledTotalSendCount (StationIndex stationIndex) const |
ResetProfiler 以降に送信したクローンエレメントデータの個数を取得します。 | |
uint32_t | GetProfiledTotalSendNoCompressedSize (StationIndex stationIndex) const |
ResetProfiler 以降に送信したクローンエレメントデータの圧縮前のサイズ(バイト)を取得します。 | |
uint32_t | GetProfiledTotalSendUnicastCount (StationIndex stationIndex) const |
ResetProfiler 以降にユニキャストで送信したクローンエレメントデータの個数を取得します。 | |
uint32_t | GetProfiledTotalSendUnicastSize (StationIndex stationIndex) const |
ResetProfiler 以降にユニキャストで送信したクローンエレメントデータの圧縮前のサイズ(バイト)を取得します。 | |
uint32_t | GetProfiledTotalResendCount (StationIndex stationIndex) const |
ResetProfiler 以降に再送したクローンエレメントデータの個数を取得します。 | |
uint32_t | GetProfiledTotalResendSize (StationIndex stationIndex) const |
ResetProfiler 以降に再送したクローンエレメントデータの圧縮前のサイズ(バイト)を取得します。 | |
uint32_t | GetProfiledTotalSendSystemCount (StationIndex stationIndex) const |
ResetProfiler 以降に送信したシステム用クローンエレメントデータの個数を取得します。 | |
uint32_t | GetProfiledTotalSendSystemSize (StationIndex stationIndex) const |
ResetProfiler 以降に送信したシステム用クローンエレメントデータの圧縮前のサイズ(バイト)を取得します。 | |
uint32_t | GetProfiledLatestReceiveCount (StationIndex stationIndex) const |
直近の CloneProfiler::LATEST_BUFFER_SIZE 回の common::Scheduler::Dispatch の間に受信したクローンエレメントデータの個数を取得します。 | |
uint32_t | GetProfiledLatestReceiveNoCompressedSize (StationIndex stationIndex) const |
直近の CloneProfiler::LATEST_BUFFER_SIZE 回の common::Scheduler::Dispatch の間に受信したクローンエレメントデータの圧縮前のサイズ(バイト)を取得します。 | |
uint32_t | GetProfiledLatestReceiveSystemCount (StationIndex stationIndex) const |
直近の CloneProfiler::LATEST_BUFFER_SIZE 回の common::Scheduler::Dispatch の間に受信したシステム用クローンエレメントデータの個数を取得します。 | |
uint32_t | GetProfiledLatestReceiveSystemSize (StationIndex stationIndex) const |
直近の CloneProfiler::LATEST_BUFFER_SIZE 回の common::Scheduler::Dispatch の間に受信したシステム用クローンエレメントデータの圧縮前のサイズ(バイト)を取得します。 | |
uint32_t | GetProfiledTotalReceiveCount (StationIndex stationIndex) const |
ResetProfiler 以降に受信したクローンエレメントデータの個数を取得します。 | |
uint32_t | GetProfiledTotalReceiveNoCompressedSize (StationIndex stationIndex) const |
ResetProfiler 以降に受信したクローンエレメントデータの圧縮前のサイズ(バイト)を取得します。 | |
uint32_t | GetProfiledTotalReceiveSystemCount (StationIndex stationIndex) const |
ResetProfiler 以降に受信したシステム用クローンエレメントデータの個数を取得します。 | |
uint32_t | GetProfiledTotalReceiveSystemSize (StationIndex stationIndex) const |
ResetProfiler 以降に受信したシステム用クローンエレメントデータの圧縮前のサイズ(バイト)を取得します。 | |
virtual Type | GetType () const =0 |
クローンエレメントの種類を取得します。 | |
イベントの送受信を管理します。
Value_ | イベント発行時に指定する値の型です。値が必要ない場合でも何らかの値を設定する必要があります。 |
BufferSize | イベントバッファのサイズです。正の値を指定する必要があります。 |
|
inherited |
|
inline |
現在参照中のイベントの発行時刻を取得します。
|
inlineinherited |
|
inlineinherited |
|
inline |
現在参照中のイベントのインデックスを取得します。
|
inlineinherited |
|
inherited |
直近の CloneProfiler::LATEST_BUFFER_SIZE 回の common::Scheduler::Dispatch の間に受信したクローンエレメントデータの個数を取得します。
[in] | stationIndex | プロファイリング対象の StationIndex です。 |
|
inherited |
直近の CloneProfiler::LATEST_BUFFER_SIZE 回の common::Scheduler::Dispatch の間に受信したクローンエレメントデータの圧縮前のサイズ(バイト)を取得します。
[in] | stationIndex | プロファイリング対象の StationIndex です。 |
|
inherited |
直近の CloneProfiler::LATEST_BUFFER_SIZE 回の common::Scheduler::Dispatch の間に受信したシステム用クローンエレメントデータの個数を取得します。
[in] | stationIndex | プロファイリング対象の StationIndex です。 |
|
inherited |
直近の CloneProfiler::LATEST_BUFFER_SIZE 回の common::Scheduler::Dispatch の間に受信したシステム用クローンエレメントデータの圧縮前のサイズ(バイト)を取得します。
[in] | stationIndex | プロファイリング対象の StationIndex です。 |
|
inherited |
直近の CloneProfiler::LATEST_BUFFER_SIZE 回の common::Scheduler::Dispatch の間に再送したクローンエレメントデータの個数を取得します。
[in] | stationIndex | プロファイリング対象の StationIndex です。 |
|
inherited |
直近の CloneProfiler::LATEST_BUFFER_SIZE 回の common::Scheduler::Dispatch の間に再送したクローンエレメントデータの圧縮前のサイズ(バイト)を取得します。
[in] | stationIndex | プロファイリング対象の StationIndex です。 |
|
inherited |
直近の CloneProfiler::LATEST_BUFFER_SIZE 回の common::Scheduler::Dispatch の間に送信したクローンエレメントデータの個数を取得します。
[in] | stationIndex | プロファイリング対象の StationIndex です。 |
|
inherited |
直近の CloneProfiler::LATEST_BUFFER_SIZE 回の common::Scheduler::Dispatch の間に送信したクローンエレメントデータの圧縮前のサイズ(バイト)を取得します。
[in] | stationIndex | プロファイリング対象の StationIndex です。 |
|
inherited |
直近の CloneProfiler::LATEST_BUFFER_SIZE 回の common::Scheduler::Dispatch の間に送信したシステム用クローンエレメントデータの個数を取得します。
[in] | stationIndex | プロファイリング対象の StationIndex です。 |
|
inherited |
直近の CloneProfiler::LATEST_BUFFER_SIZE 回の common::Scheduler::Dispatch の間に送信したシステム用クローンエレメントデータの圧縮前のサイズ(バイト)を取得します。
[in] | stationIndex | プロファイリング対象の StationIndex です。 |
|
inherited |
直近の CloneProfiler::LATEST_BUFFER_SIZE 回の common::Scheduler::Dispatch の間にユニキャストで送信したクローンエレメントデータの個数を取得します。
[in] | stationIndex | プロファイリング対象の StationIndex です。 |
|
inherited |
直近の CloneProfiler::LATEST_BUFFER_SIZE 回の common::Scheduler::Dispatch の間にユニキャストで送信したクローンエレメントデータの圧縮前のサイズ(バイト)を取得します。
[in] | stationIndex | プロファイリング対象の StationIndex です。 |
|
inherited |
ResetProfiler 以降に受信したクローンエレメントデータの個数を取得します。
[in] | stationIndex | プロファイリング対象の StationIndex です。 |
|
inherited |
ResetProfiler 以降に受信したクローンエレメントデータの圧縮前のサイズ(バイト)を取得します。
[in] | stationIndex | プロファイリング対象の StationIndex です。 |
|
inherited |
ResetProfiler 以降に受信したシステム用クローンエレメントデータの個数を取得します。
[in] | stationIndex | プロファイリング対象の StationIndex です。 |
|
inherited |
ResetProfiler 以降に受信したシステム用クローンエレメントデータの圧縮前のサイズ(バイト)を取得します。
[in] | stationIndex | プロファイリング対象の StationIndex です。 |
|
inherited |
ResetProfiler 以降に再送したクローンエレメントデータの個数を取得します。
[in] | stationIndex | プロファイリング対象の StationIndex です。 |
|
inherited |
ResetProfiler 以降に再送したクローンエレメントデータの圧縮前のサイズ(バイト)を取得します。
[in] | stationIndex | プロファイリング対象の StationIndex です。 |
|
inherited |
ResetProfiler 以降に送信したクローンエレメントデータの個数を取得します。
[in] | stationIndex | プロファイリング対象の StationIndex です。 |
|
inherited |
ResetProfiler 以降に送信したクローンエレメントデータの圧縮前のサイズ(バイト)を取得します。
[in] | stationIndex | プロファイリング対象の StationIndex です。 |
|
inherited |
ResetProfiler 以降に送信したシステム用クローンエレメントデータの個数を取得します。
[in] | stationIndex | プロファイリング対象の StationIndex です。 |
|
inherited |
ResetProfiler 以降に送信したシステム用クローンエレメントデータの圧縮前のサイズ(バイト)を取得します。
[in] | stationIndex | プロファイリング対象の StationIndex です。 |
|
inherited |
ResetProfiler 以降にユニキャストで送信したクローンエレメントデータの個数を取得します。
[in] | stationIndex | プロファイリング対象の StationIndex です。 |
|
inherited |
ResetProfiler 以降にユニキャストで送信したクローンエレメントデータの圧縮前のサイズ(バイト)を取得します。
[in] | stationIndex | プロファイリング対象の StationIndex です。 |
|
inherited |
このオブジェクトが登録されている CloneBase が登録されている CloneProtocol を取得します。
|
inlineinherited |
設定されている受信プロファイリング管理オブジェクトを取得します。
|
inlineinherited |
設定されている送信プロファイリング管理オブジェクトを取得します。
|
inline |
現在参照中のイベントの発行元ステーションインデックスを取得します。
|
pure virtualinherited |
クローンエレメントの種類を取得します。
|
inherited |
現在のイベントバッファの使用数を取得します。
ReceiveClone、AtomicSharingClone、SequentialSharingClone に登録されている場合、 返り値が 0 にならない場合があります。 次のデータを受信時に、消してもよいデータがバッファから削除されます。
|
inline |
現在参照中のイベントの値を指すポインタを取得します。
|
inline |
次のイベントを参照します。
参照中のイベントは、もう一度 HandleNext() を呼ぶまで同じものが参照できます。
|
inlineinherited |
イベントの取りこぼしエラーが発生したかどうかを取得します。
AtomicSharingClone で使用しているときにステーションの異常切断が発生すると、 受信するはずだったイベントを受信し損ねる場合があります。 いずれかの EventCloneElement でこのエラーが発生した場合、 CloneProtocol::GetError() が CloneProtocol::ErrorType_EventDropped を返すようになります。
|
inherited |
値を設定できる状態かどうかを判定します。
|
inlineinherited |
|
inherited |
CloneProtocol に登録されているかどうかを判定します。
|
inherited |
送受信のプロファイリングされた結果をリセットします。
|
inherited |
送受信のプロファイリング管理オブジェクトを設定します。
CloneProfiler を設定すると、クローンエレメントが行った送受信をプロファイリングできます。 ここでの計測は、このクローンエレメントが他のクローンエレメントと行うすべてのデータのやり取りが計上されるため、 自ステーション内でのクローンエレメント間のデータのやり取りも値に含まれます。
圧縮を有効にしていた場合でも、計測されるサイズは非圧縮状態でのサイズです。
引数に NULL を指定すると、既に設定してある CloneProfiler を解除する事ができます。
[in] | pSendProfiler | 送信のプロファイリングを管理する CloneProfiler を指定します。 必要ない場合は NULL を指定する必要があります。 |
[in] | pReceiveProfiler | 受信のプロファイリングを管理する CloneProfiler を指定します。 必要ない場合は NULL を指定する必要があります。 |
Result nn::pia::clone::EventCloneElement< Value_, BufferSize >::SetValue | ( | const Value & | value | ) |
イベントを発行します。
[in] | value | イベントの値です。 |
ResultInvalidState 登録しているクローンが送信可能状態ではありません。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
ResultBufferIsFull バッファがいっぱいで発行できません。アプリケーションで適切にハンドリングしてください。
|
inherited |
デバッグに有用な情報をプリントします。
[in] | flag | トレースフラグの論理和。詳細は TraceFlag 型を参照してください。 |