CTR-Pia
5.4.3
Game Communication Engine
|
ステーション間で値の共有を行うためのプロトコルです。
[詳細]
構成 | |
struct | Setting |
初期化時に指定する設定構造体です。 [詳細] | |
Public 型 | |
typedef int(* | ClockPriorityJudgeFunction )(ClockValue clock, StationIndex stationA, StationIndex stationB) |
順序比較関数です。 | |
enum | ErrorType { ErrorType_Nothing = 0, ErrorType_EventDropped, ErrorType_ClockOverflow } |
エラーの発生状態を表します。 [詳細] | |
enum | State { State_Inactive = 0x10, State_Start = 0x20, State_Active = 0x30, State_Stop = 0x40 } |
CloneProtocol の動作状態を表します。 [詳細] | |
Static Public 変数 | |
static const uint32_t | CompressionLevelHigh = 9 |
CloneProtocol::Setting::dataCompressionLevel で指定する送信データの圧縮レベル(圧縮率重視)です。 | |
static const uint32_t | CompressionLevelLow = 1 |
CloneProtocol::Setting::dataCompressionLevel で指定する送信データの圧縮レベル(速度重視)です。 | |
static const uint32_t | CompressionLevelMiddle = 5 |
CloneProtocol::Setting::dataCompressionLevel で指定する送信データの圧縮レベルです。 | |
static const uint32_t | CompressionLevelNone = 0 |
CloneProtocol::Setting::dataCompressionLevel で指定する送信データの圧縮レベル(圧縮なし)です。 | |
ステーション間で値の共有を行うためのプロトコルです。
typedef int(* nn::pia::clone::CloneProtocol::ClockPriorityJudgeFunction)(ClockValue clock, StationIndex stationA, StationIndex stationB) |
順序比較関数です。
[in] | clock | 比較を行う時刻です。 |
[in] | stationA | 比較対象のステーションの StationIndex です。 |
[in] | stationB | 比較対象のステーションの StationIndex です。 |
stationA と stationB が同じ値で呼び出されることはありません。
この関数は、ある時刻において順序関係が矛盾しないようになっている必要があります。 例えば、 ClockPriorityJudgeFunction(clock, stationA, stationB) < 0 であるならば、 ClockPriorityJudgeFunction(clock, stationB, stationA) > 0 とならなければなりません。 また、 ClockPriorityJudgeFunction(clock, stationA, stationB) < 0 かつ ClockPriorityJudgeFunction(clock, stationB, stationC) < 0 であるならば ClockPriorityJudgeFunction(clock, stationA, statoinC) < 0 とならなければなりません。
ただし、別の時刻においては順序関係が一致しなくても構いません。 すなわち、ClockPriorityJudgeFunction(clock1, stationA, stationB) < 0 である場合に、 ClockPriorityJudgeFunction(clock2, stationA, stationB) > 0 となることは問題ありません。
エラーの発生状態を表します。
ErrorType_Nothing |
エラーはありません。 |
ErrorType_EventDropped |
イベントの管理に不整合が生じました。一部のイベントが通知されなかった可能性があります。 EventCloneElement を使用していた場合に発生する可能性があります。 |
ErrorType_ClockOverflow |
時刻の値がオーバーフローしました。全体的に値の不整合が起こっている可能性があります。 |
CloneProtocol の動作状態を表します。
void nn::pia::clone::CloneProtocol::Finalize | ( | ) |
終了処理を行います。
|
inline |
通信中に実際に使用された Ack 用バッファ数の最大値を取得します。
この値は再初期化時に 0 にリセットされます。
ClockValue nn::pia::clone::CloneProtocol::GetClock | ( | ) | const |
|
inline |
使用するクローンエレメントの SerializePolicy::GetSerializedSize() で定義できる値の最大値を取得します。
この値より大きなクローンエレメントを登録してあるクローンを RegisterXXXClone() に渡すと、 ResultInvalidArgument が返ります。
この値は 1 パケットに収めることのできる最大サイズです。 使用する通信モジュールやそこで設定する MTU の設定によって値が変わります。 この値は、CloneProtocol::Initialize() 以降取得することができます。
|
inline |
エラーの発生状態を取得します。
エラーが発生した場合は、送受信している値に不整合が起こっている可能性がありますので、 ゲームを無効として CloneProtocol::Stop() で終了させることを推奨します。 再び CloneProtocol::Start() を呼び出した際にこの値はリセットされます。 複数の種類のエラーが発生した場合は、CloneProtocol::ErrorType の値の大きい方が優先されます。
uint32_t nn::pia::clone::CloneProtocol::GetProfiledLatestReceiveCount | ( | StationIndex | stationIndex | ) | const |
直近の CloneProfiler::LATEST_BUFFER_SIZE 回の common::Scheduler::Dispatch の間に受信した CloneProtocol メッセージの個数を取得します。
[in] | stationIndex | プロファイリング対象の StationIndex です。 |
uint32_t nn::pia::clone::CloneProtocol::GetProfiledLatestReceiveSize | ( | StationIndex | stationIndex | ) | const |
直近の CloneProfiler::LATEST_BUFFER_SIZE 回の common::Scheduler::Dispatch の間に受信した CloneProtocol メッセージのサイズ(バイト)を取得します。
[in] | stationIndex | プロファイリング対象の StationIndex です。 |
uint32_t nn::pia::clone::CloneProtocol::GetProfiledLatestSendCount | ( | StationIndex | stationIndex | ) | const |
直近の CloneProfiler::LATEST_BUFFER_SIZE 回の common::Scheduler::Dispatch の間に送信した CloneProtocol メッセージの個数を取得します。
[in] | stationIndex | プロファイリング対象の StationIndex です。 |
uint32_t nn::pia::clone::CloneProtocol::GetProfiledLatestSendNoCompressedSize | ( | StationIndex | stationIndex | ) | const |
直近の CloneProfiler::LATEST_BUFFER_SIZE 回の common::Scheduler::Dispatch の間に送信した CloneProtocol メッセージの圧縮前のサイズ(バイト)を取得します。
[in] | stationIndex | プロファイリング対象の StationIndex です。 |
uint32_t nn::pia::clone::CloneProtocol::GetProfiledLatestSendSize | ( | StationIndex | stationIndex | ) | const |
直近の CloneProfiler::LATEST_BUFFER_SIZE 回の common::Scheduler::Dispatch の間に送信した CloneProtocol メッセージのサイズ(バイト)を取得します。
[in] | stationIndex | プロファイリング対象の StationIndex です。 |
uint32_t nn::pia::clone::CloneProtocol::GetProfiledLatestSendSystemCount | ( | StationIndex | stationIndex | ) | const |
直近の CloneProfiler::LATEST_BUFFER_SIZE 回の common::Scheduler::Dispatch の間に送信したシステム用 CloneProtocol メッセージの個数を取得します。
[in] | stationIndex | プロファイリング対象の StationIndex です。 |
uint32_t nn::pia::clone::CloneProtocol::GetProfiledLatestSendSystemSize | ( | StationIndex | stationIndex | ) | const |
直近の CloneProfiler::LATEST_BUFFER_SIZE 回の common::Scheduler::Dispatch の間に送信したシステム用 CloneProtocol メッセージのサイズ(バイト)を取得します。
[in] | stationIndex | プロファイリング対象の StationIndex です。 |
uint32_t nn::pia::clone::CloneProtocol::GetProfiledLatestSendUnicastCount | ( | StationIndex | stationIndex | ) | const |
直近の CloneProfiler::LATEST_BUFFER_SIZE 回の common::Scheduler::Dispatch の間にユニキャストで送信した CloneProtocol メッセージの個数を取得します。
[in] | stationIndex | プロファイリング対象の StationIndex です。 |
uint32_t nn::pia::clone::CloneProtocol::GetProfiledLatestSendUnicastSize | ( | StationIndex | stationIndex | ) | const |
直近の CloneProfiler::LATEST_BUFFER_SIZE 回の common::Scheduler::Dispatch の間にユニキャストで送信した CloneProtocol メッセージのサイズ(バイト)を取得します。
[in] | stationIndex | プロファイリング対象の StationIndex です。 |
uint32_t nn::pia::clone::CloneProtocol::GetProfiledTotalReceiveCount | ( | StationIndex | stationIndex | ) | const |
ResetProfiler 以降に受信した CloneProtocol メッセージの個数を取得します。
[in] | stationIndex | プロファイリング対象の StationIndex です。 |
uint32_t nn::pia::clone::CloneProtocol::GetProfiledTotalReceiveSize | ( | StationIndex | stationIndex | ) | const |
ResetProfiler 以降に受信した CloneProtocol メッセージのサイズ(バイト)を取得します。
[in] | stationIndex | プロファイリング対象の StationIndex です。 |
uint32_t nn::pia::clone::CloneProtocol::GetProfiledTotalSendCount | ( | StationIndex | stationIndex | ) | const |
ResetProfiler 以降に送信した CloneProtocol メッセージの個数を取得します。
[in] | stationIndex | プロファイリング対象の StationIndex です。 |
uint32_t nn::pia::clone::CloneProtocol::GetProfiledTotalSendNoCompressedSize | ( | StationIndex | stationIndex | ) | const |
ResetProfiler 以降に送信した CloneProtocol メッセージの圧縮前のサイズ(バイト)を取得します。
[in] | stationIndex | プロファイリング対象の StationIndex です。 |
uint32_t nn::pia::clone::CloneProtocol::GetProfiledTotalSendSize | ( | StationIndex | stationIndex | ) | const |
ResetProfiler 以降に送信した CloneProtocol メッセージのサイズ(バイト)を取得します。
[in] | stationIndex | プロファイリング対象の StationIndex です。 |
uint32_t nn::pia::clone::CloneProtocol::GetProfiledTotalSendSystemCount | ( | StationIndex | stationIndex | ) | const |
ResetProfiler 以降に送信したシステム用 CloneProtocol メッセージの個数を取得します。
[in] | stationIndex | プロファイリング対象の StationIndex です。 |
uint32_t nn::pia::clone::CloneProtocol::GetProfiledTotalSendSystemSize | ( | StationIndex | stationIndex | ) | const |
ResetProfiler 以降に送信したシステム用 CloneProtocol メッセージのサイズ(バイト)を取得します。
[in] | stationIndex | プロファイリング対象の StationIndex です。 |
uint32_t nn::pia::clone::CloneProtocol::GetProfiledTotalSendUnicastCount | ( | StationIndex | stationIndex | ) | const |
ResetProfiler 以降にユニキャストで送信した CloneProtocol メッセージの個数を取得します。
[in] | stationIndex | プロファイリング対象の StationIndex です。 |
uint32_t nn::pia::clone::CloneProtocol::GetProfiledTotalSendUnicastSize | ( | StationIndex | stationIndex | ) | const |
ResetProfiler 以降にユニキャストで送信した CloneProtocol メッセージのサイズ(バイト)を取得します。
[in] | stationIndex | プロファイリング対象の StationIndex です。 |
|
inline |
設定されている受信プロファイリング管理オブジェクトを取得します。
|
inline |
CloneProtocol::SetSendPeriod() で指定した送信間隔の設定値を取得します。
|
inline |
設定されている送信プロファイリング管理オブジェクトを取得します。
|
inline |
現在の動作状態を取得します。
初期化します。 clone::BeginSetup() ~ clone::EndSetup() 間で呼び出す必要があります。
[in] | setting | 各種設定情報です。 すべてのステーション間で、同じ値を設定する必要があります。異なる値を設定した場合の動作は不定です。 |
ResultAlreadyInitialized 既に初期化されています。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
ResultInvalidArgument 引数が不正です。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
bool nn::pia::clone::CloneProtocol::IsActiveStation | ( | StationId | stationId | ) | const |
指定したステーションの CloneProtocol が動作中かどうかを判定します。
[in] | stationId | 動作中かどうかを調べたいステーションの StationId です。 |
bool nn::pia::clone::CloneProtocol::IsRegulatingClock | ( | ) | const |
|
inline |
AtomicSharingClone を指定の ID に登録します。
[in] | pClone | 登録する AtomicSharingClone です。 |
[in] | cloneId | 登録する ID です。 |
ResultNotInitialized 初期化されていません。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
ResultInvalidArgument 引数が不正です。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
ResultAlreadyExists 指定された ID には既に登録されています。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
Result nn::pia::clone::CloneProtocol::RegisterReceiveClone | ( | ReceiveClone * | pClone, |
StationIndex | sendStationIndex, | ||
CloneBase::Id | cloneId | ||
) |
ReceiveClone を指定の ID に登録します。
[in] | pClone | 登録する ReceiveClone です。 |
[in] | sendStationIndex | 送信側の SendClone のある StationIndex です。 |
[in] | cloneId | 登録する ID です。 |
ResultNotInitialized 初期化されていません。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
ResultInvalidArgument 引数が不正です。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
ResultAlreadyExists 指定された ID には既に登録されています。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
|
inline |
SendClone を指定の ID に登録します。
[in] | pClone | 登録する SendClone です。 |
[in] | cloneId | 登録する ID です。 |
ResultNotInitialized 初期化されていません。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
ResultInvalidArgument 引数が不正です。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
ResultAlreadyExists 指定された ID には既に登録されています。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
|
inline |
SequentialSharingClone を指定の ID に登録します。
[in] | pClone | 登録する SequentialSharingClone です。 |
[in] | cloneId | 登録する ID です。 |
ResultNotInitialized 初期化されていません。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
ResultInvalidArgument 引数が不正です。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
ResultAlreadyExists 指定された ID には既に登録されています。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
Result nn::pia::clone::CloneProtocol::RegulateClock | ( | ) |
時刻の再調整を開始します。
このステーションの CloneProtocol の管理する時刻を、他のステーションの平均的な時刻にそろえるように再調整します。 他のステーションの時刻を調べた後、通常より高速/低速に時刻を進めることにより誤差を修正します。 どの程度高速/低速に進めるかは CloneProtocol::Initialize() 時に指定する CloneProtocol::Setting::clockRegulationRate で指定する必要があります。 CloneProtocol::Setting::clockType に CloneProtocol::Setting::ClockType_Rtc を指定した場合は、同期通信を長時間継続していると、端末間の時刻のずれが 10 時間で数秒程度大きくなる可能性があります。長時間の同期通信を行う場合は、この関数を定期的に呼び出すことを検討してください。
void nn::pia::clone::CloneProtocol::ResetProfiler | ( | ) |
送受信のプロファイリングされた結果をリセットします。
|
inline |
指定した ID の AtomicSharingClone を検索して取得します。
[in] | cloneId | 検索する AtomicSharingClone の ID です。 |
|
inline |
指定した ID の AtomicSharingClone を検索して取得します。
[in] | cloneId | 検索する AtomicSharingClone の ID です。 |
ReceiveClone* nn::pia::clone::CloneProtocol::SearchReceiveClone | ( | StationIndex | sendStationIndex, |
CloneBase::Id | cloneId | ||
) |
指定した ID の ReceiveClone を検索して取得します。
[in] | sendStationIndex | 送信側の SendClone のある StationIndex です。 |
[in] | cloneId | 検索する ReceiveClone の ID です。 |
const ReceiveClone* nn::pia::clone::CloneProtocol::SearchReceiveClone | ( | StationIndex | sendStationIndex, |
CloneBase::Id | cloneId | ||
) | const |
指定した ID の ReceiveClone を検索して取得します。
[in] | sendStationIndex | 送信側の SendClone のある StationIndex です。 |
[in] | cloneId | 検索する ReceiveClone の ID です。 |
|
inline |
|
inline |
|
inline |
指定した ID の SequentialSharingClone を検索して取得します。
[in] | cloneId | 検索する SequentialSharingClone の ID です。 |
|
inline |
指定した ID の SequentialSharingClone を検索して取得します。
[in] | cloneId | 検索する SequentialSharingClone の ID です。 |
Result nn::pia::clone::CloneProtocol::SetClockOverFlowSpanForDebug | ( | uint32_t | span | ) |
(デバッグ用)時刻の値がオーバーフローするまでの期間を設定します。
同期通信を開始してから、時刻の値がオーバーフローするまでの期間を設定します。
本関数はデバッグ用です。製品には組み込まないよう、注意してください。
[in] | span | CloneProtocol::Setting::ClockType が CloneProtocol::Setting::ClockType_Rtc の場合は、時間(単位は秒)、CloneProtocol::Setting::ClockType_Frame の場合は、フレーム数です。 |
Result nn::pia::clone::CloneProtocol::SetProfiler | ( | CloneProfilerBase * | pSendProfiler, |
CloneProfilerBase * | pReceiveProfiler | ||
) |
送受信のプロファイリング管理オブジェクトを設定します。
CloneProfiler を設定すると、 CloneProtocol が行った送受信をプロファイリングできます。 ここでの計測は、この CloneProtocol が実際に通信路に送信し、通信路から受信したものが計上されます。 クローンのプロファイリングでは自ステーション内での送受信も計上されますが、 それらは CloneProtocol 内で解決されるため、 CloneProtocol でのプロファイリングには計上されません。
圧縮を有効にしていた場合、計測されるサイズは圧縮された状態でのサイズです。
引数に NULL を指定すると、既に設定してある CloneProfiler を解除する事ができます。
[in] | pSendProfiler | 送信のプロファイリングを管理する CloneProfiler を指定します。 必要ない場合は NULL を指定する必要があります。 |
[in] | pReceiveProfiler | 受信のプロファイリングを管理する CloneProfiler を指定します。 必要ない場合は NULL を指定する必要があります。 |
ResultNotInitialized 初期化されていません。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
ResultInvalidArgument 引数が不正です。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
Result nn::pia::clone::CloneProtocol::SetResendSpanRatio | ( | float | rttRatio | ) |
計測して求めた基準となる RTT(ミリ秒) に対する再送間隔の比率を指定します。
RTT に対する再送間隔の比率のデフォルト値は 1.25 です。再送間隔は、(RTT * rttRatio + (送信間隔 + 1) * 1 フレームに相当する時間) となります。1 フレームに相当する時間は、CloneProtocol::UpdateClock() の呼び出し間隔に基づいて内部で計測されます。再送間隔の最大値は、2500 ms です。
[in] | rttRatio | 計測して求めた基準となる RTT(ミリ秒) に対する、再送間隔の比率です。0 より大きい値を指定する必要があります。 |
ResultNotInitialized 初期化されていません。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
ResultInvalidArgument 引数が誤っています。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
Result nn::pia::clone::CloneProtocol::SetSendPeriod | ( | uint32_t | sendPeriod | ) |
送信間隔を設定します。
ここで指定した回数 CloneProtocol::UpdateClock() が呼び出されるたびに、common::Scheduler::Dispatch() 呼び出し時に送信処理が行われます。1 以上の値を指定する必要があります。
[in] | sendPeriod | 設定する送信間隔です。 |
Result nn::pia::clone::CloneProtocol::Start | ( | ) |
CloneProtocol の動作を開始します。
通信開始後、CloneProtocol::State_Inactive の時に呼び出すことができます。 成功すると CloneProtocol::State_Start に遷移して開始処理を行った後、 CloneProtocol::State_Active に遷移します。 この呼び出し以降、定期的に CloneProtocol::UpdateClock() を呼ぶ必要があります。
Result nn::pia::clone::CloneProtocol::Stop | ( | ) |
CloneProtocol の動作を終了します。
CloneProtocol::State_Start または CloneProtocol::State_Active の時に呼び出すと CloneProtocol::State_Stop に遷移し、終了処理の完了後に CloneProtocol::State_Inactive に遷移します。 CloneProtocol::State_Stop の間は、まだ CloneProtocol::UpdateClock() を呼び続ける必要があります。 CloneProtocol::State_Inactive, CloneProtocol::State_Stop の時に呼び出しても何も起こりません。
|
virtual |
デバッグに有用な情報をプリントします。
[in] | flag | トレースフラグの論理和。詳細は TraceFlag 型を参照してください。 |
nn::pia::transport::Protocolを再定義しています。
|
inline |
AtomicSharingClone を登録解除します。
送信途中のものがある場合は送信しきってから登録解除されます。 そのため、この関数が成功したとしても pClone->IsRegisteredWithProtocol() が false になるまで pClone を使いまわしたり同じ ID に再登録したりできません。 (ステーションの不正切断時の代理送信等のため、送信権を取得していなくても送信を行う事があります。)
[in] | pClone | 登録解除する AtomicSharingClone です。 |
ResultNotInitialized 初期化されていません。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
ResultInvalidArgument 引数が不正です。この CloneProtocol に登録されていない AtomicSharingClone が指定されています。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
|
inline |
AtomicSharingClone を登録解除します。
送信途中のものがある場合は送信しきってから登録解除されます。 そのため、この関数が成功したとしても登録解除した AtomicSharingClone::IsRegisteredWithProtocol() が false になるまで その AtomicSharingClone を使いまわしたり同じ ID に再登録したりできません。 (ステーションの不正切断時の代理送信等のため、送信権を取得していなくても送信を行う事があります。)
[in] | cloneId | 登録解除する AtomicSharingClone の ID です。 |
ResultNotInitialized 初期化されていません。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
ResultNotSet 指定された ID には登録されていません。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
|
inline |
ReceiveClone を登録解除します。
送信途中のものがある場合は送信しきってから登録解除されます。 そのため、この関数が成功したとしても pClone->IsRegisteredWithProtocol() が false になるまで pClone を使いまわしたり同じ ID に再登録したりできません。 (ステーションの不正切断時の代理送信等のため ReceiveClone も送信を行う事があります。)
[in] | pClone | 登録解除する ReceiveClone です。 |
ResultNotInitialized 初期化されていません。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
ResultInvalidArgument 引数が不正です。この CloneProtocol に登録されていない ReceiveClone が指定されています。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
Result nn::pia::clone::CloneProtocol::UnregisterReceiveClone | ( | StationIndex | sendStationIndex, |
CloneBase::Id | cloneId | ||
) |
ReceiveClone を登録解除します。
送信途中のものがある場合は送信しきってから登録解除されます。 そのため、この関数が成功したとしても登録解除した ReceiveClone::IsRegisteredWithProtocol() が false になるまで その ReceiveClone を使いまわしたり同じ ID に再登録したりできません。 (ステーションの不正切断時の代理送信等のため ReceiveClone も送信を行う事があります。)
[in] | sendStationIndex | 送信側の SendClone のある StationIndex です。 |
[in] | cloneId | 登録解除する ReceiveClone の ID です。 |
ResultNotInitialized 初期化されていません。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
ResultInvalidArgument 引数が不正です。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
ResultNotSet 指定された ID には登録されていません。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
SendClone を登録解除します。
送信途中のものがある場合は送信しきってから登録解除されます。 そのため、この関数が成功したとしても pClone->IsRegisteredWithProtocol() が false になるまで pClone を使いまわしたり同じ ID に再登録したりできません。
[in] | pClone | 登録解除する SendClone です。 |
ResultNotInitialized 初期化されていません。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
ResultInvalidArgument 引数が不正です。この CloneProtocol に登録されていない SendClone が指定されています。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
|
inline |
SendClone を登録解除します。
送信途中のものがある場合は送信しきってから登録解除されます。 そのため、この関数が成功したとしても登録解除した SendClone::IsRegisteredWithProtocol() が false になるまで その SendClone を使いまわしたり同じ ID に再登録したりできません。
[in] | cloneId | 登録解除する SendClone の ID です。 |
ResultNotInitialized 初期化されていません。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
ResultNotSet 指定された ID には登録されていません。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
|
inline |
SequentialSharingClone を登録解除します。
送信途中のものがある場合は送信しきってから登録解除されます。 そのため、この関数が成功したとしても pClone->IsRegisteredWithProtocol() が false になるまで pClone を使いまわしたり同じ ID に再登録したりできません。
[in] | pClone | 登録解除する SequentialSharingClone です。 |
ResultNotInitialized 初期化されていません。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
ResultInvalidArgument 引数が不正です。この CloneProtocol に登録されていない AtomicSharingClone が指定されています。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
|
inline |
SequentialSharingClone を登録解除します。
送信途中のものがある場合は送信しきってから登録解除されます。 そのため、この関数が成功したとしても登録解除した SequentialSharingClone::IsRegisteredWithProtocol() が false になるまで その SequentialSharingClone を使いまわしたり同じ ID に再登録したりできません。
[in] | cloneId | 登録解除する SequentialSharingClone の ID です。 |
ResultNotInitialized 初期化されていません。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
ResultNotSet 指定された ID には登録されていません。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
void nn::pia::clone::CloneProtocol::UpdateClock | ( | ) |
時刻を 1 フレーム進めます。
この関数を呼びだした時だけ CloneProtocol の管理する時刻は進みます。 CloneProtocol::State_Start, CloneProtocol::State_Active, CloneProtocol::State_Stop のいずれかの間は定期的に呼び出す必要があります。 呼び出しに対してどれだけの時刻が進むかは、CloneProtocol::Initialize() 時に指定する CloneProtocol::Setting で指定する必要があります。 時刻の値の精度に対して呼び出し間隔が短い場合は時刻が変わらない場合がありますが、遡ることはありません。