CTR-Pia
5.4.3
Game Communication Engine
|
transport モジュールの中核的な存在のクラスです。 [詳細]
構成 | |
struct | DebugSetting |
SetDebugSetting() に渡すパラメータをまとめた構造体です。 [詳細] | |
struct | Setting |
CreateInstance() に各種パラメータを渡すための構造体です。 [詳細] | |
Public メソッド | |
Result | CheckTransportStatus () const |
Transport の状態をチェックし、送受信処理などが実行できる状態であるかどうかを判定します。 | |
Result | ConvertToStationId (StationId *pId, StationIndex idx) const |
StationIndex を StationId に変換します。 | |
Result | ConvertToStationIndex (StationIndex *pIdx, StationId id) const |
StationId を StationIndex に変換します。 | |
template<typename T > | |
uint32_t | CreateProtocol (uint16_t port=0) |
T型のプロトコルのインスタンスを生成します。 | |
void | DestroyProtocol (uint32_t protocolHandle) |
プロトコルのインスタンスを破棄します。 | |
void | DisableKeepAlive (void) |
キープアライブ処理を無効にします。 | |
void | EnableKeepAlive (void) |
キープアライブ処理を有効にします。 | |
Result | GetHostStationConnectionInfo (StationConnectionInfo *pInfoOut) |
セッションホストを示すアドレス(StationConnectionInfo )を取得します。 | |
int32_t | GetKeepAliveInterval (void) const |
キープアライブパケット送信間隔を取得します。 | |
Result | GetLocalStationConnectionInfo (StationConnectionInfo *pInfoOut) |
自分自身を示すアドレス(StationConnectionInfo )を取得します。 | |
uint16_t | GetMaxStationNum (void) const |
CreateInstance() 時に設定された、接続可能な最大 Station 数を返します。 | |
template<typename T > | |
T * | GetProtocol (uint32_t protocolHandle) |
T型のプロトコルのインスタンスを取得します。 | |
bool | IsKeepAliveEnabled (void) const |
キープアライブ処理が有効か無効であるかを返します。 | |
virtual void | Trace (uint64_t flag) const |
デバッグに有用な情報をプリントします。 | |
Static Public メソッド | |
static Result | CreateInstance (const Transport::Setting &setting) |
Transport クラスのインスタンスを作成します(シングルトンパターン)。 | |
static void | DestroyInstance (void) |
Transport クラスのインスタンスを破棄します(シングルトンパターン)。 インスタンスが存在していなかった場合は、何もしません。 | |
static Transport * | GetInstance (void) |
Transport クラスのインスタンスを得ます(シングルトンパターン)。 事前に CreateInstance() によってインスタンスを作成していない場合は、 NULL ポインタが返されます。 この関数はスレッドセーフです。 | |
static Result | SetDebugSetting (const struct DebugSetting &setting) |
デバッグ用の機能を有効にします。 | |
transport モジュールの中核的な存在のクラスです。
|
inline |
Transport の状態をチェックし、送受信処理などが実行できる状態であるかどうかを判定します。
ResultInvalidState session モジュールのセットアップが完了していません。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
ResultTemporaryUnavailable セッション移行処理中のため、一時的に API を利用できない状態です。ジョイントセッション機能使用時にのみ返ります。アプリケーションで適切にハンドリングしてください。
Result nn::pia::transport::Transport::ConvertToStationId | ( | StationId * | pId, |
StationIndex | idx | ||
) | const |
StationIndex を StationId に変換します。
自ステーションがセッションに参加していない状態であったり、ジョイントセッション処理中に この API を呼び出した場合は失敗の Result が返されます。
EVENT_JOIN, EVENT_LEAVE イベントが通知される、セッションの状態変化イベントコールバック内で この関数を呼び出すことは可能です。
この関数はセッション API 使用時とメッシュ API 使用時とで挙動が異なります。 メッシュ API 使用時は、メッシュ未参加の StationIndex を指定した場合でも変換に成功します。
[out] | pId | 変換した StationId の格納先を示すポインタ |
[in] | idx | 変換する StationIndex |
ResultInvalidArgument 引数に誤りがあります。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
ResultInvalidState 変換処理を実行できる状態ではありません。session のセットアップが完了していない可能性があります。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
ResultNotFound 指定した StationIndex のステーションはセッションに参加していません。アプリケーションで適切にハンドリングしてください。
ResultTemporaryUnavailable セッション移行処理中のため、一時的に API を利用できない状態です。ジョイントセッション機能使用時にのみ返ります。アプリケーションで適切にハンドリングしてください。
Result nn::pia::transport::Transport::ConvertToStationIndex | ( | StationIndex * | pIdx, |
StationId | id | ||
) | const |
StationId を StationIndex に変換します。
自ステーションがセッションに参加していない状態であったり、ジョイントセッション処理中に この API を呼び出した場合は失敗の Result が返されます。
EVENT_JOIN, EVENT_LEAVE イベントが通知される、セッションの状態変化イベントコールバック内で この関数を呼び出すことは可能です。
この関数はセッション API 使用時とメッシュ API 使用時とで挙動が異なります。 メッシュ API 使用時は、メッシュ未参加の StationId を指定した場合でも変換に成功します。
[out] | pIdx | 変換した StationIndex の格納先を示すポインタ |
[in] | id | 変換する StationId |
ResultInvalidArgument 引数に誤りがあります。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
ResultInvalidState 変換処理を実行できる状態ではありません。session のセットアップが完了していない可能性があります。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
ResultNotFound 指定した StationId のステーションはセッションに参加していません。アプリケーションで適切にハンドリングしてください。
ResultTemporaryUnavailable セッション移行処理中のため、一時的に API を利用できない状態です。ジョイントセッション機能使用時にのみ返ります。アプリケーションで適切にハンドリングしてください。
|
static |
Transport クラスのインスタンスを作成します(シングルトンパターン)。
[in] | setting | 各種パラメータが書き込まれた Setting 構造体。 |
ResultNotInitialized transport モジュールが未初期化です。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
ResultInvalidState CreateInstance() を呼ぶタイミングが誤っています。 BeginSetup() ~ EndSetup() 間で呼び出す必要があります。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
ResultAlreadyExists 既にインスタンスは作成されています。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
ResultInvalidArgument 引数が誤っています。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
ResultAllocationFailed 内部でメモリ確保に失敗しました。 common::Initialize() で Pia に供給するメモリを増やすか、よりメモリ消費量の少ないパラメータ設定を試す必要があります。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
|
inline |
T型のプロトコルのインスタンスを生成します。
T | プロトコルの型を指定します。 |
[in] | port | プロトコルのポートの値です。 |
|
static |
Transport クラスのインスタンスを破棄します(シングルトンパターン)。 インスタンスが存在していなかった場合は、何もしません。
|
inline |
void nn::pia::transport::Transport::DisableKeepAlive | ( | void | ) |
キープアライブ処理を無効にします。
void nn::pia::transport::Transport::EnableKeepAlive | ( | void | ) |
キープアライブ処理を有効にします。
Result nn::pia::transport::Transport::GetHostStationConnectionInfo | ( | StationConnectionInfo * | pInfoOut | ) |
セッションホストを示すアドレス(StationConnectionInfo )を取得します。
ネットワークに接続できていない状態では、取得できるアドレスは不定となります。
[out] | pInfoOut | 取得したセッションホストを示すアドレスの格納先を示すポインタ |
|
inlinestatic |
Transport クラスのインスタンスを得ます(シングルトンパターン)。 事前に CreateInstance() によってインスタンスを作成していない場合は、 NULL ポインタが返されます。 この関数はスレッドセーフです。
int32_t nn::pia::transport::Transport::GetKeepAliveInterval | ( | void | ) | const |
キープアライブパケット送信間隔を取得します。
この関数はスレッドセーフです。
Result nn::pia::transport::Transport::GetLocalStationConnectionInfo | ( | StationConnectionInfo * | pInfoOut | ) |
自分自身を示すアドレス(StationConnectionInfo )を取得します。
ネットワークに接続できていない状態では、取得できるアドレスは不定となります。
[out] | pInfoOut | 取得した自分自身を示すアドレスの格納先を示すポインタ |
|
inline |
|
inline |
T型のプロトコルのインスタンスを取得します。
T | プロトコルの型を指定します。 |
[in] | protocolHandle | 取得したいプロトコルのハンドルです。 |
bool nn::pia::transport::Transport::IsKeepAliveEnabled | ( | void | ) | const |
キープアライブ処理が有効か無効であるかを返します。
この関数はスレッドセーフです。
|
static |
デバッグ用の機能を有効にします。
引数で設定した内容で、デバッグ用機能を有効にします。 この API を製品版 ROM で呼び出してはなりません。
この API を使用する際は、Transport::CreateInstance() 呼び出しよりも 前に呼び出す必要があります。
|
virtual |
デバッグに有用な情報をプリントします。
[in] | flag | トレースフラグの論理和。詳細は TraceFlag 型を参照してください。 |