CTR-Pia
5.4.3
Game Communication Engine
|
pia の名前空間です。 [詳細]
ネームスペース | |
namespace | clone |
PiaClone の名前空間です。 PiaClone は状態同期ゲーム通信を実現するためのモジュールです。 | |
namespace | common |
PiaCommon の名前空間です。 PiaCommon は、 Pia 全体で利用する機能をまとめたモジュールです。 | |
namespace | framework |
PiaFramework の名前空間です。 PiaFramework は、他のモジュールの機能を統合するモジュールです。 | |
namespace | inet |
PiaInet の名前空間です。 PiaInet は、インターネット通信に対応するネットワーク管理モジュールです。PiaSession と一緒に使用します。 | |
namespace | lan |
PiaLan の名前空間です。 PiaLan は LAN P2P 通信機能を提供するネットワーク管理モジュールです。LAN マッチメイク機能を提供します。PiaSession と一緒に使用します。 | |
namespace | local |
PiaLocal の名前空間です。 PiaLocal はローカル P2P 通信の拡張機能を提供するモジュールです。PiaSession と一緒に使用します。 | |
namespace | reckoning |
PiaReckoning の名前空間です。 PiaReckoning モジュールは、 PiaClone 上で推測航法を用いて値の共有を行うためのモジュールです。 | |
namespace | session |
PiaSession の名前空間です。 PiaSession はゲーム参加者の集合となるセッション(集まり)の管理を行うセッション管理モジュールです。 | |
namespace | sync |
PiaSync の名前空間です。 PiaSync は入力同期ゲーム通信を実現するためのモジュールです。 | |
namespace | transport |
PiaTransport の名前空間です。 PiaTransport は様々な送受信機能を提供するトランスポート管理モジュールです。PiaSession と組み合わせて使用します。 | |
構成 | |
class | Result |
処理の結果を示すクラスです。 [詳細] | |
class | ResultAllocationFailed |
メモリなどのリソースの確保に失敗したことを示すリザルトコードです。この Result が返らないようにアプリケーションを実装する必要があります。 [詳細] | |
class | ResultAlreadyExists |
対象は既に存在していたことを示すリザルトコードです。 [詳細] | |
class | ResultAlreadyInitialized |
既に初期化が完了していたことを示すリザルトコードです。この Result が返らないようにアプリケーションを実装する必要があります。 [詳細] | |
class | ResultAlreadyJoinedCommunity |
参加しようとしたコミュニティに既に参加していた。 [詳細] | |
class | ResultBrokenData |
通信回線を経由してきたデータが壊れている、あるいは改ざんの疑いがあることを示すリザルトコードです。 [詳細] | |
class | ResultBufferIsFull |
処理を実行するのに必要なバッファが一時的に不足していたために失敗したことを示すリザルトコードです。ネットワークトラフィックの混雑によって引き起こされることもあります。時間をあけてから再度実行すれば、成功する可能性があります。 [詳細] | |
class | ResultBufferShortage |
引数で渡されたバッファのサイズが不足していることを示すリザルトコードです。この Result が返らないようにアプリケーションを実装する必要があります。 [詳細] | |
class | ResultCancelled |
非同期処理のキャンセルが要求されたことを示すリザルトコードです。 [詳細] | |
class | ResultCommunityIsClosed |
参加しようとしたコミュニティが参加可能期間外でした。 [詳細] | |
class | ResultCommunityIsFull |
参加しようとしたコミュニティが満員でした。 [詳細] | |
class | ResultCommunityIsNotFound |
存在しないコミュニティでした。 [詳細] | |
class | ResultCommunityUserPasswordUnmatch |
参加時に指定したユーザーパスワードがコミュニティに設定されたユーザーパスワードと一致しませんでした。 [詳細] | |
class | ResultCompanionStationIsLeft |
ジョイントセッション時に同行者として指定したステーションが切断していました。 [詳細] | |
class | ResultCompanionStationIsOffline |
(ジョイントセッション用)追加で参加させようとしたステーションがサーバーにログインしていませんでした。 [詳細] | |
class | ResultContainerIsFull |
コンテナは満杯であることを示すリザルトコードです。 [詳細] | |
class | ResultCreateCommunityFailedUpperLimit |
コミュニティの作成上限を超えました。 [詳細] | |
class | ResultDataIsNotArrivedYet |
全 Station のデータが揃っていません [詳細] | |
class | ResultDataIsNotSet |
送信データが設定されていません。 [詳細] | |
class | ResultDeniedByParticipants |
自分をブラックリストに登録しているユーザーが参加していました。 [詳細] | |
class | ResultDnsFailed |
DNS 解決に失敗しました。 [詳細] | |
class | ResultErrorOccurred |
内部でエラーが発生したことを表します。 [詳細] | |
class | ResultGameServerMaintenance |
ゲームサーバーがメンテナンス中です。 [詳細] | |
class | ResultGameServerProcessAborted |
ゲームサーバーへの処理が異常終了しました。 [詳細] | |
class | ResultHostIsNotFriend |
参加しようとしたセッションのホストとフレンド関係がありませんでした。 [詳細] | |
class | ResultIncompatibleFormat |
非互換の通信形式です。 [詳細] | |
class | ResultInvalidArgument |
API に渡した引数が誤っていることを示すリザルトコードです。例えば NULL ポインタを渡された等のケースが該当します。この Result が返らないようにアプリケーションを実装する必要があります。 [詳細] | |
class | ResultInvalidConnection |
接続状態が不正であることや、無線オフモードになっていることを表します。 [詳細] | |
class | ResultInvalidState |
API を呼び出すタイミングが誤っていることを示すリザルトコードです。 Pia ライブラリの状態が、この Result を返したAPIを呼び出せる状態ではなかったことを示します。 [詳細] | |
class | ResultInvalidSystemMessage |
Join 要求への応答に不正なメッセージが返されました。 [詳細] | |
class | ResultJoinCommunityFailedUpperLimit |
コミュニティの参加上限を超えました。 [詳細] | |
class | ResultJoinRequestDenied |
セッションホストによって Join 要求が拒否されました。 [詳細] | |
class | ResultLanHigherVersion |
自分のバージョンが通信相手のバージョンよりも高いことを表します。 [詳細] | |
class | ResultLanLowerVersion |
自分のバージョンが通信相手のバージョンよりも低いことを表します。 [詳細] | |
class | ResultLocalHigherVersion |
自分のバージョンが通信相手のバージョンよりも高いことを表します。 [詳細] | |
class | ResultLocalLowerVersion |
自分のバージョンが通信相手のバージョンよりも低いことを表します。 [詳細] | |
class | ResultMatchmakeSessionIsFull |
満員のマッチメイクセッションに参加しようとしました。 [詳細] | |
class | ResultMemoryLeak |
Pia ライブラリ内部のメモリリーク疑いを表現するリザルトコードです。 [詳細] | |
class | ResultMeshIsFull |
Join 要求を出したメッシュが満員で、参加できませんでした。 [詳細] | |
class | ResultNatCheckFailed |
NAT チェックに失敗しました。 [詳細] | |
class | ResultNatTraversalFailedBothEdm |
Station 間の NAT トラバーサル処理に失敗しました。Local, Remote 共に NAT タイプは EDM でした。 [詳細] | |
class | ResultNatTraversalFailedBothEdmSamePublicAddress |
Station 間の NAT トラバーサル処理に失敗しました。Local, Remote 共に NAT タイプは EDM でした。また、Local と Remote は同じグローバルIPアドレスでした。 [詳細] | |
class | ResultNatTraversalFailedBothEim |
Station 間の NAT トラバーサル処理に失敗しました。Local, Remote 共に NAT タイプは EIM でした。 [詳細] | |
class | ResultNatTraversalFailedBothEimSamePublicAddress |
Station 間の NAT トラバーサル処理に失敗しました。Local, Remote 共に NAT タイプは EIM でした。また、Local と Remote は同じグローバルIPアドレスでした。 [詳細] | |
class | ResultNatTraversalFailedLocalEdmRemoteEim |
Station 間の NAT トラバーサル処理に失敗しました。Local の NAT タイプは EDM, Remote の NAT タイプは EIM でした。 [詳細] | |
class | ResultNatTraversalFailedLocalEdmRemoteEimSamePublicAddress |
Station 間の NAT トラバーサル処理に失敗しました。Local の NAT タイプは EDM, Remote の NAT タイプは EIM でした。また、Local と Remote は同じグローバルIPアドレスでした。 [詳細] | |
class | ResultNatTraversalFailedLocalEimRemoteEdm |
Station 間の NAT トラバーサル処理に失敗しました。Local の NAT タイプは EIM, Remote の NAT タイプは EDM でした。 [詳細] | |
class | ResultNatTraversalFailedLocalEimRemoteEdmSamePublicAddress |
Station 間の NAT トラバーサル処理に失敗しました。Local の NAT タイプは EIM, Remote の NAT タイプは EDM でした。また、Local と Remote は同じグローバルIPアドレスでした。 [詳細] | |
class | ResultNatTraversalRequestTimeout |
Station 間の NAT トラバーサル処理に失敗しました。NAT トラバーサル要求がタイムアウトしました。 [詳細] | |
class | ResultNegligibleFault |
無視可能なエラーを表します。 [詳細] | |
class | ResultNetworkConnectionIsLost |
接続が既に切断されたことを示すリザルトコードです。 [詳細] | |
class | ResultNetworkIsFull |
ネットワークが満員でした。 [詳細] | |
class | ResultNexInternalError |
NEX 内部エラーが発生しました。 [詳細] | |
class | ResultNoData |
データが存在しない事を示すリザルトコードです。 [詳細] | |
class | ResultNotFound |
要求されたものが見つからなかった事を示すリザルトコードです。 [詳細] | |
class | ResultNotImplemented |
機能が未実装であることを示すリザルトコードです。この Result が返らないようにアプリケーションを実装する必要があります。 [詳細] | |
class | ResultNotInCommunication |
通信中ではありません。 [詳細] | |
class | ResultNotInitialized |
関数を呼びだしたオブジェクトやモジュールが未初期化であった事を示すリザルトコードです。この Result が返らないようにアプリケーションを実装する必要があります。 [詳細] | |
class | ResultNotSet |
事前に設定されているべき値が設定されていなかったことを示すリザルトコードです。 [詳細] | |
class | ResultParticipantInBlockList |
ブロックリストに登録しているユーザーが参加していました。 [詳細] | |
class | ResultRelayFailedNoCandidate |
リレー接続に失敗しました。(リレー候補がいなかったため) [詳細] | |
class | ResultRelayFailedRelayNumLimit |
リレー接続に失敗しました。(リレー数制限を超えたため) [詳細] | |
class | ResultRelayFailedRttLimit |
リレー接続に失敗しました。( RTT 制限を超えたため) [詳細] | |
class | ResultRelayFailedUnknown |
リレー接続に失敗しました。(詳細不明) [詳細] | |
class | ResultSdkError |
SDK の API 呼び出しに失敗しました。 [詳細] | |
class | ResultSdkViewerErrorCodeError |
SDK の API 呼び出しに失敗しました。nn::pia::Result::GetErrorCode() で取得できるエラーコードは SDK のものになります。 [詳細] | |
class | ResultSessionConnectionIsLost |
セッションが切断されました。 [詳細] | |
class | ResultSessionIsClosed |
参加しようとしたセッションが締め切られていました。 [詳細] | |
class | ResultSessionIsNotFound |
既に存在していないセッションになっていました。 [詳細] | |
class | ResultSessionMigrationFailed |
ジョイントセッション時にセッション移行に必要な処理に失敗しました。 [詳細] | |
class | ResultSessionSystemPasswordUnmatch |
システムパスワードがセットされているセッションに参加しようとしましたがシステムパスワードが一致しませんでした。 [詳細] | |
class | ResultSessionUserPasswordUnmatch |
ユーザーパスワードがセットされているセッションに参加しようとしましたがユーザーパスワードが一致しませんでした。 [詳細] | |
class | ResultSessionWrongState |
参加したセッションの状態が異常でした。 [詳細] | |
class | ResultSleep |
スリープ状態であることを示すリザルトコードです。 [詳細] | |
class | ResultStationConnectionFailed |
Station 間の接続処理に失敗しました。 [詳細] | |
class | ResultStationConnectionNatTraversalFailedUnknown |
Station 間の NAT トラバーサル処理に失敗しました。NAT タイプは不明でした。 [詳細] | |
class | ResultSuccess |
成功の Result です。 [詳細] | |
class | ResultTemporaryUnavailable |
API が一時的に利用できない状態であることを示すリザルトコードです。 [詳細] | |
class | ResultTimeOut |
非同期処理がタイムアウトしたことを示すリザルトコードです。 [詳細] | |
class | ResultUserAccountNotExisted |
ユーザーアカウントが存在しませんでした。 [詳細] | |
class | ResultWifiOff |
無線がオフになっていることを示すリザルトコードです。 [詳細] | |
class | ResultWirelessControllerCountLimitation |
無線コントローラの接続台数が制限を超えていることを示すリザルトコードです。 [詳細] | |
型定義 | |
typedef uint64_t | PrincipalId |
プリンシパル ID | |
typedef uint64_t | StationId |
セッション内の Station 識別子 StationId の定義です。 | |
変数 | |
const uint8_t | MaxPlayerInfoSize = 1 |
プレイヤー情報の最大サイズです。 | |
const uint32_t | MaxPlayerNameLength = 20 |
プレイヤー名の最大文字数です。 | |
const uint16_t | MaxStationNum = 12 |
Piaのセッションに参加可能なStation数の最大値です。 | |
const uint32_t | MaxUserNameLength = nn::cfg::CTR::CFG_USER_NAME_LENGTH - 1 |
ユーザー名の最大文字数です。(NULL終端文字は含みません) | |
const uint64_t | StationIdInvalid = 0 |
無効な StationId を表す定数です。 | |
pia の名前空間です。
PiaのAPIの多くはスレッドセーフではありません。 個々の API リファレンスにおいて、特にスレッドセーフ/アンセーフに ついて言及していないAPIは、基本的にスレッドセーフを保証していません。(スレッドセーフなAPIについての説明は随時追加していく予定です)
typedef uint64_t nn::pia::StationId |
セッション内の Station 識別子 StationId の定義です。
セッションに参加中のステーション毎に固有の値が割り当てられます。
enum nn::pia::ModuleType |
Pia の各モジュールを示す列挙型です。
StationIndex の列挙型です。
Pia の各モジュールは、ネットワークの種別に依らずセッション内の Station の識別子として StationIndex を使用します。 この ID は Station 毎の情報をアプリケーションが配列として扱えることを 意図して作られています。
Pia ライブラリがサポートする最大同時接続数が変更される度に最大値は 変化します。
StationIndex の列挙型です。
Pia の各モジュールは、ネットワークの種別に依らずセッション内の Station の識別子として StationIndex を使用します。 この ID は Station 毎の情報をアプリケーションが配列として扱えることを 意図して作られています。
Pia ライブラリがサポートする最大同時接続数が変更される度に最大値は 変化します。