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

データ転送の動作方式を表します。 [詳細]

Public メソッド

 Configuration ()
 デフォルトコンストラクタです。 CurrentConnectionSync と同じ値で初期化されます。
 
bool IsFailIfRejected () const
 送信先に受信拒否された場合、送信失敗として送信を中断するかどうかの設定を取得します。
 
bool IsMediateRequest () const
 2つのステーションが同時にお互いに送信しようとした場合に、自動的に一方を送信失敗にするかどうかの設定を取得します。
 
bool IsSendEndless () const
 全ての送信先に送信が完了しても State_Sending を継続するかどうかの設定を取得します。
 
bool IsSendToNewcomer () const
 途中合流したステーションに対しても送信するかどうかの設定を取得します。
 
bool IsSynchronizeCompletion () const
 受信完了を同期するかどうかの設定を取得します。
 
void SetFailIfRejected (bool isOn)
 送信先に受信拒否された場合、送信失敗として送信を中断するかどうかの設定を指定します。
 
void SetMediateRequest (bool isOn)
 2つのステーションが同時にお互いに送信しようとした場合に、自動的に一方を送信失敗にするかどうかの設定を指定します。
 
void SetSendEndless (bool isOn)
 全ての送信先に送信が完了しても State_Sending を継続するかどうかの設定を指定します。
 
void SetSendToNewcomer (bool isOn)
 途中合流したステーションに対しても送信するかどうかの設定を指定します。
 
void SetSynchronizeCompletion (bool isOn)
 受信完了を同期するかどうかの設定を指定します。
 

Static Public 変数

static const Configuration CurrentConnectionAsync
 現在接続しているステーションに非同期送信する設定です。
 
static const Configuration CurrentConnectionSync
 現在接続しているステーションに同期送信する設定です。
 
static const Configuration ShareDataAsync
 現在接続しているステーションだけでなく合流してきたステーションに対してもそれぞれ送信し続ける設定です。
 
static const Configuration ShareDataSync
 現在接続しているステーションだけでなく合流してきたステーションに対しても送信し、全員が受信し終わるのを待つ設定です。
 

説明

データ転送の動作方式を表します。

設定の組み合わせによっては意味のないものであったりする場合もありますので、 典型的なケースではあらかじめ用意された定数をそのまま使う事をお勧めします。

関数

bool nn::pia::transport::ReliableBroadcastProtocol::Configuration::IsFailIfRejected ( ) const
inline

送信先に受信拒否された場合、送信失敗として送信を中断するかどうかの設定を取得します。

戻り値
true の場合、受信拒否されると State_SendFailure となり、送信全体が失敗したことになります。 false の場合、受信拒否したステーションだけを送信対象から除外し、他の送信先への送信は継続します。
参照
SetFailIfRejected
bool nn::pia::transport::ReliableBroadcastProtocol::Configuration::IsMediateRequest ( ) const
inline

2つのステーションが同時にお互いに送信しようとした場合に、自動的に一方を送信失敗にするかどうかの設定を取得します。

この設定が true の送信同士が衝突した場合は、送信元の StationIndex の値の大きい方の送信が失敗になります。 一方が true 、もう一方が false の送信の場合は、 true の方の送信が失敗になります。 両方とも false の場合はどちらも State_Sending を維持してお互いに相手が受信してくれるのを待ち続けるため、 アプリケーションで適切に処理しないとどちらの送信も完了しなくなってしまいますので注意してください。

戻り値
true の場合、IsMediateRequest() が false の受信要求や自分より StationIndex の小さい送信先からの受信要求が届いた場合は、 送信を中断し State_SendFailure に遷移します。 false の場合、送信先からの受信要求によって自動的に State_SendFailure になることはありません。
参照
SetMediateRequest
bool nn::pia::transport::ReliableBroadcastProtocol::Configuration::IsSendEndless ( ) const
inline

全ての送信先に送信が完了しても State_Sending を継続するかどうかの設定を取得します。

true とした場合そのままでは State_SendSuccess になることはありません。 ReliableBroadcastProtocol::FinishSendEndless() を呼ぶと、それ以降 false を設定した場合と同様の動作をするようになり、 全ての送信先に送信を終えた後 State_SendSuccess に遷移します。

戻り値
true の場合、すべての送信先に送信が完了しても State_Sending 状態を維持し、送信先が追加された場合はそちらにも送信します。 false の場合、全ての送信先に送信が完了すると State_SendSuccess に遷移して送信を終了します。
参照
SetSendEndless
bool nn::pia::transport::ReliableBroadcastProtocol::Configuration::IsSendToNewcomer ( ) const
inline

途中合流したステーションに対しても送信するかどうかの設定を取得します。

戻り値
true の場合、送信中に新たにセッションに参加したステーションに対しても送信します。 false の場合は送信開始時にセッション内に存在するステーションのみに対して送信します。
参照
SetSendToNewcomer
bool nn::pia::transport::ReliableBroadcastProtocol::Configuration::IsSynchronizeCompletion ( ) const
inline

受信完了を同期するかどうかの設定を取得します。

戻り値
true の場合、受信している全てのステーションが受信完了してから State_ReceiveSuccess となります。 false の場合、全てのデータを受信したステーションごとに随時 State_ReceiveSuccess となります。
参照
SetSynchronizeCompletion
void nn::pia::transport::ReliableBroadcastProtocol::Configuration::SetFailIfRejected ( bool  isOn)
inline

送信先に受信拒否された場合、送信失敗として送信を中断するかどうかの設定を指定します。

設定の意味の詳細は IsFailIfRejected() を参照してください。

引数
[in]isOntrue なら設定を有効にします。
参照
IsFailIfRejected
void nn::pia::transport::ReliableBroadcastProtocol::Configuration::SetMediateRequest ( bool  isOn)
inline

2つのステーションが同時にお互いに送信しようとした場合に、自動的に一方を送信失敗にするかどうかの設定を指定します。

設定の意味の詳細は IsMediateRequest() を参照してください。

引数
[in]isOntrue なら設定を有効にします。
参照
IsMediateRequest
void nn::pia::transport::ReliableBroadcastProtocol::Configuration::SetSendEndless ( bool  isOn)
inline

全ての送信先に送信が完了しても State_Sending を継続するかどうかの設定を指定します。

設定の意味の詳細は IsSendEndless() を参照してください。

引数
[in]isOntrue なら設定を有効にします。
参照
IsSendEndless
void nn::pia::transport::ReliableBroadcastProtocol::Configuration::SetSendToNewcomer ( bool  isOn)
inline

途中合流したステーションに対しても送信するかどうかの設定を指定します。

設定の意味の詳細は IsSendToNewcomer() を参照してください。

引数
[in]isOntrue なら設定を有効にします。
参照
IsSendToNewcomer
void nn::pia::transport::ReliableBroadcastProtocol::Configuration::SetSynchronizeCompletion ( bool  isOn)
inline

受信完了を同期するかどうかの設定を指定します。

設定の意味の詳細は IsSynchronizeCompletion() を参照してください。

引数
[in]isOntrue なら設定を有効にします。
参照
IsSynchronizeCompletion

変数

const Configuration nn::pia::transport::ReliableBroadcastProtocol::Configuration::CurrentConnectionAsync
static

現在接続しているステーションに非同期送信する設定です。

CurrentConnectionSync に対して、受信側は他の受信者にも届いたことを待たなくていい場合を想定した設定です。

const Configuration nn::pia::transport::ReliableBroadcastProtocol::Configuration::CurrentConnectionSync
static

現在接続しているステーションに同期送信する設定です。

セッション参加を締め切った後、誰かがデータを全員に送信して、全員に届いたら次のシーケンスに進むという使い方を想定した設定です。

const Configuration nn::pia::transport::ReliableBroadcastProtocol::Configuration::ShareDataAsync
static

現在接続しているステーションだけでなく合流してきたステーションに対してもそれぞれ送信し続ける設定です。

セッションに参加してきたステーションにまず一定のデータを送信して、 そのデータを受け取ったステーションから順に次のシーケンスに進むという使い方を想定した設定です。

const Configuration nn::pia::transport::ReliableBroadcastProtocol::Configuration::ShareDataSync
static

現在接続しているステーションだけでなく合流してきたステーションに対しても送信し、全員が受信し終わるのを待つ設定です。

マッチング中の待ち時間のうちにあらかじめ共有しておくデータを送っておき、 マッチング終了後に FinishSendEndless で送信を終了させて そろって次のシーケンスに進むという使い方を想定した設定です。