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

PiaCommon の名前空間です。 PiaCommon は、 Pia 全体で利用する機能をまとめたモジュールです。 [詳細]

構成

class  ByteOrder
 バイトオーダー変換 [詳細]
 
class  CachedPrint
 コンソール出力をキャッシュします。 このクラスはデバッグ用です。製品には組み込んではいけません。 [詳細]
 
class  CallContext
 呼び出しコンテキストのクラスです。 [詳細]
 
struct  CryptoSetting
 暗号化の設定構造体です。 [詳細]
 
class  DateTime
 日時を表すクラスです。 [詳細]
 
class  Event
 イベントのクラスです。 [詳細]
 
class  FixedString
 固定長のバッファを持つ文字列を表すクラスです。 [詳細]
 
struct  InAddr
 IPv4アドレス構造体です。 [詳細]
 
class  InetAddress
 インターネットアドレスを表現するクラスです。 [詳細]
 
class  MemoryLeakChecker
 Pia ライブラリ内部のメモリリークを自動検出するためのクラスです。 [詳細]
 
class  Report
 アプリ開発者に伝えるレポートをプリントするクラスです。 [詳細]
 
class  ResultUtility
 Result に関係するユーティリティ類をまとめたクラスです。 [詳細]
 
class  RootObject
 Piaライブラリ内の共通基底クラスです。 [詳細]
 
class  Scheduler
 ジョブのスケジューラです。 [詳細]
 
class  SignatureSetting
 署名の設定情報を保持するクラスです。 [詳細]
 
class  SignatureSettingWithKeyBuffer
 署名鍵のバッファを内部に持つ署名設定情報のクラスです。 [詳細]
 
class  StationAddress
 ステーションを一意に識別するためのアドレスです。 [詳細]
 
class  String
 文字列を表すクラスです。 [詳細]
 
class  Time
 時刻を表すクラスです。 [詳細]
 
class  TimeSpan
 時間の間隔を表すクラスです。ミリ秒単位の数値と型変換ができます。 [詳細]
 
class  Trace
 トレースのクラスです。 [詳細]
 
class  Watermark
 Piaライブラリ内部のリソース使用量のピーク値などを計測するために用意されたクラスです(サポート対象外)。 [詳細]
 
class  WatermarkManager
 Watermark インスタンス群を管理するクラスです(サポート対象外)。 [詳細]
 

型定義

typedef void(* InternalPrintCallback )(const char *pStr, int32_t len)
 RegisterInternalPrintCallback に渡すコールバック型です。
 
typedef int32_t TimeInterval
 時間間隔を表す型です。単位はミリ秒です。
 
typedef uint64_t TraceFlag
 トレースフラグです。
 

列挙型

enum  NetworkType {
  NetworkType_UdsLocalNetwork,
  NetworkType_Ipv4Internet
}
 Pia がサポートするネットワークの種類を表す列挙型です。 [詳細]
 

関数

Result BeginSetup (void)
 セットアップの開始を宣言します。
 
Result EndSetup (void)
 セットアップの終了を宣言します。
 
void Finalize (void)
 common モジュールを終了します。
 
uint32_t GetMemoryUsage (void)
 この API を呼び出した時点における Pia ライブラリのメモリ使用量を得ます。
 
Result Initialize (void *pMem, uint32_t size)
 common モジュールを初期化します。
 
bool IsInitialized (void)
 common モジュールが初期化された状態であるかどうかを返します。
 
InternalPrintCallback RegisterInternalPrintCallback (InternalPrintCallback pCallback)
 Pia のコンソール出力をフックするコールバックを設定する関数です。
 

変数

トレースフラグ

static const TraceFlag TraceFlagNever = 0ULL
 常に表示されないことを示すフラグです。
 
static const TraceFlag TraceFlagAlways = 1ULL << 0
 常に表示されることを示すフラグです。
 
static const TraceFlag TraceFlagCommon = 1ULL << 1
 PiaCommon モジュールのトレースを示すフラグです。
 
static const TraceFlag TraceFlagCommonEvent = 1ULL << 2
 PiaCommon モジュールのイベント関係のトレースを示すフラグです。
 
static const TraceFlag TraceFlagCommonJob = 1ULL << 3
 PiaCommon モジュールのジョブ関係のトレースを示すフラグです。
 
static const TraceFlag TraceFlagCommonSocket = 1ULL << 4
 PiaCommon モジュールのソケット関係のトレースを示すフラグです。
 
static const TraceFlag TraceFlagCommonDetail = 1ULL << 5
 PiaCommon モジュールの詳細トレースを示すフラグです。
 
static const TraceFlag TraceFlagLocal = 1ULL << 7
 PiaLocal モジュールのトレースを示すフラグです。
 
static const TraceFlag TraceFlagLocalTransport = 1ULL << 8
 PiaLocal モジュールの送受信処理関係のトレースを示すフラグです。
 
static const TraceFlag TraceFlagLocalMigration = 1ULL << 9
 PiaLocal モジュールのホストマイグレーション機能関係のトレースを示すフラグです。
 
static const TraceFlag TraceFlagInet = 1ULL << 11
 PiaInet モジュールのトレースを示すフラグです。
 
static const TraceFlag TraceFlagInetInit = 1ULL << 12
 PiaInet モジュールの初期化、終了処理関係のトレースを示すフラグです。
 
static const TraceFlag TraceFlagInetStream = 1ULL << 13
 PiaInet モジュールの送受信処理関係のトレースを示すフラグです。
 
static const TraceFlag TraceFlagInetRelayStream = 1ULL << 14
 PiaInet モジュールのサーバーリレー送受信処理関係のトレースを示すフラグです。
 
static const TraceFlag TraceFlagInetReport = 1ULL << 15
 PiaInet モジュールのレポート処理関係のトレースを示すフラグです。
 
static const TraceFlag TraceFlagInetNat = 1ULL << 16
 PiaInet モジュールの NAT トラバーサル処理のトレースを示すフラグです
 
static const TraceFlag TraceFlagInetNatDetail = 1ULL << 17
 PiaInet モジュールの NAT トラバーサル処理の詳細トレースを示すフラグです。
 
static const TraceFlag TraceFlagInetNatProbe = 1ULL << 18
 PiaInet モジュールの NAT トラバーサル処理のプルーブ関連のトレースを示すフラグです。
 
static const TraceFlag TraceFlagTransport = 1ULL << 19
 PiaTransport モジュールのトレースを示すフラグです。
 
static const TraceFlag TraceFlagTransportInit = 1ULL << 20
 PiaTransport モジュールの初期化処理、終了処理関係のトレースを示すフラグです。
 
static const TraceFlag TraceFlagTransportKeepAlive = 1ULL << 21
 PiaTransport モジュールのキープアライブ関係のトレースを示すフラグです。
 
static const TraceFlag TraceFlagTransportRtt = 1ULL << 22
 PiaTransport モジュールのRTTプロトコル関係のトレースを示すフラグです。
 
static const TraceFlag TraceFlagTransportBuffer = 1ULL << 23
 PiaTransport モジュールのバッファ関係のトレースを示すフラグです。
 
static const TraceFlag TraceFlagTransportPacketSend = 1ULL << 24
 PiaTransport モジュールにおける Packet 送信に関係するトレースフラグです。
 
static const TraceFlag TraceFlagTransportPacketReceive = 1ULL << 25
 PiaTransport モジュールにおける Packet 受信に関係するトレースフラグです。
 
static const TraceFlag TraceFlagTransportProtocolmessageSend = 1ULL << 26
 PiaTransport モジュールにおける ProtocolMessage 送信に関係するトレースフラグです。
 
static const TraceFlag TraceFlagTransportProtocolmessageReceive = 1ULL << 27
 PiaTransport モジュールにおける ProtocolMessage 受信に関係するトレースフラグです。
 
static const TraceFlag TraceFlagTransportRelay = 1ULL << 28
 PiaTransport モジュールのリレー機能のトレースを示すフラグです。
 
static const TraceFlag TraceFlagTransportRelayDetail = 1ULL << 29
 PiaTransport モジュールのリレー機能の詳細のトレースを示すフラグです。
 
static const TraceFlag TraceFlagSession = 1ULL << 30
 PiaSession モジュールのトレースを示すフラグです。
 
static const TraceFlag TraceFlagSessionConnect = 1ULL << 31
 PiaSession モジュールの接続処理関係のトレースを示すフラグです。
 
static const TraceFlag TraceFlagSessionLeave = 1ULL << 32
 PiaSession モジュールの切断処理関係のトレースを示すフラグです。
 
static const TraceFlag TraceFlagSessionUpdate = 1ULL << 33
 PiaSession モジュールの更新処理関係のトレースを示すフラグです。
 
static const TraceFlag TraceFlagSessionMigration = 1ULL << 34
 PiaSession モジュールのホストマイグレーション処理関係のトレースを示すフラグです。
 
static const TraceFlag TraceFlagSessionDetail = 1ULL << 35
 PiaSession モジュールの詳細トレースを示すフラグです。
 
static const TraceFlag TraceFlagSessionInit = 1ULL << 36
 PiaSession モジュールの初期化、終了処理に関係するトレースを示すフラグです。
 
static const TraceFlag TraceFlagSessionJoint = 1ULL << 37
 PiaSession モジュールのジョイントセッション処理関係のトレースを示すフラグです。
 
static const TraceFlag TraceFlagSessionClock = 1ULL << 38
 PiaSession モジュールの同期クロック関係のトレースを示すフラグです。
 
static const TraceFlag TraceFlagSync = 1ULL << 39
 PiaSync モジュールのトレースを示すフラグです。
 
static const TraceFlag TraceFlagClone = 1ULL << 41
 PiaClone モジュールのトレースを示すフラグです。
 
static const TraceFlag TraceFlagCloneDetail = 1ULL << 42
 PiaClone モジュールの詳細トレースを示すフラグです。
 
static const TraceFlag TraceFlagReckoning = 1ULL << 43
 PiaReckoning モジュールのトレースを示すフラグです。
 
static const TraceFlag TraceFlagChat = 1ULL << 45
 PiaChat モジュールのトレースを示すフラグです。
 
static const TraceFlag TraceFlagChatDetail = 1ULL << 46
 PiaChat モジュールの詳細トレースを示すフラグです。
 
static const TraceFlag TraceFlagService = 1ULL << 49
 PiaService モジュールのトレースを示すフラグです。
 
static const TraceFlag TraceFlagServiceTransport = 1ULL << 50
 PiaService モジュールのトレースを示すフラグです。
 
static const TraceFlag TraceFlagServiceTransportDetail = 1ULL << 51
 PiaService モジュールのトレースを示すフラグです。
 
static const TraceFlag TraceFlagServiceRelayServer = 1ULL << 52
 PiaService モジュールのトレースを示すフラグです。
 
static const TraceFlag TraceFlagServiceMonitoringServer = 1ULL << 53
 PiaService モジュールのトレースを示すフラグです。
 
static const TraceFlag TraceFlagBrain = 1ULL << 54
 PiaBrain モジュールのトレースを示すフラグです。
 
static const TraceFlag TraceFlagBrainDetail = 1ULL << 55
 PiaBrain モジュールのトレースを示すフラグです。
 
static const TraceFlag TraceFlagBrainBehaviorExecution = 1ULL << 56
 PiaBrain モジュールのトレースを示すフラグです。
 
static const TraceFlag TraceFlagFramework = 1ULL << 58
 PiaFramework モジュールのトレースを示すフラグです。
 
static const TraceFlag TraceFlagLan = 1ULL << 60
 PiaLan モジュールのトレースを示すフラグです。
 
static const TraceFlag TraceFlagLanDetail = 1ULL << 61
 PiaLan モジュールの詳細トレースを示すフラグです。
 
static const TraceFlag TraceFlagPlugin = 1ULL << 62
 PiaPlugin のトレースを示すフラグです。
 
static const TraceFlag TraceFlagDirect = 1ULL << 63
 PiaDirect のトレースを示すフラグです。
 
static const TraceFlag TraceFlagAll = TraceFlagAlways
 全てのトレースで表示されることを示すフラグです。
 
static const TraceFlag TraceFlagDefault = TraceFlagAlways
 TraceFlag のデフォルト値です。
 

説明

PiaCommon の名前空間です。 PiaCommon は、 Pia 全体で利用する機能をまとめたモジュールです。

型定義

typedef void(* nn::pia::common::InternalPrintCallback)(const char *pStr, int32_t len)

RegisterInternalPrintCallback に渡すコールバック型です。

引数
[in]pStr文字列の先頭を指すポインタ。ヌル文字で終端されているとは限りません。
[in]len文字列長。
typedef uint64_t nn::pia::common::TraceFlag

トレースフラグです。

PIA_TRACE()マクロの第一引数に渡すなどして使用します。

列挙型

Pia がサポートするネットワークの種類を表す列挙型です。

列挙型の値:
NetworkType_UdsLocalNetwork 

UDS 通信

NetworkType_Ipv4Internet 

IPv4 を使用するインターネット通信

関数

Result nn::pia::common::BeginSetup ( void  )

セットアップの開始を宣言します。

common モジュールのシングルトンなどを作成する前に呼ぶ必要があります。 アプリケーションが common モジュールのシングルトンを一つも作成しない場合であっても、 この API と EndSetup は必ず呼び出す必要があります。

戻り値
この API を適切なタイミングで呼び出していれば、成功の Result が返されます。この関数がエラーを返さないようにアプリケーションを実装する必要があります。
返るエラーの一覧:

ResultNotInitialized common モジュールの初期化関数が呼ばれていません。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

ResultInvalidState この関数を呼び出すタイミングが誤っています。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

Result nn::pia::common::EndSetup ( void  )

セットアップの終了を宣言します。

common モジュールのシングルトンなどを作成し終えた後に呼ぶ必要があります。 このAPI呼び出しにより、 common モジュールのシングルトンなどが消費する メモリを確定し、ライブラリ内部でのメモリ管理を最適化します。 アプリケーションが common モジュールのシングルトンを一つも作成しない場合であっても、 BeginSetup とこの API は必ず呼び出す必要があります。

戻り値
この API を適切なタイミングで呼び出していれば、成功の Result が返されます。この関数がエラーを返さないようにアプリケーションを実装する必要があります。
返るエラーの一覧:

ResultNotInitialized common モジュールの初期化関数が呼ばれていません。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

ResultInvalidState この関数を呼び出すタイミングが誤っています。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

void nn::pia::common::Finalize ( void  )

common モジュールを終了します。

Initialize 時にセットアップした nn::pia::common::Report インスタンスが破棄され、 アプリケーションが Initialize でPiaライブラリに供給したメモリが解放されます。 common モジュールが初期化されていない状態の時にこの API を呼び出した場合は、何もしません。

uint32_t nn::pia::common::GetMemoryUsage ( void  )

この API を呼び出した時点における Pia ライブラリのメモリ使用量を得ます。

この API は、各モジュールの BeginSetup()EndSetup() 間では 呼び出してはいけません。もし呼び出してしまうと、誤った値が返されます。

戻り値
この API を呼び出した時点での Pia ライブラリのメモリ使用量が返されます。 common モジュールのセットアップがされていないときや、内部でエラーが 発生した場合は、0 が返されます。
返るエラーの一覧:
0 Pia ライブラリがセットアップされていないとき
Result nn::pia::common::Initialize ( void *  pMem,
uint32_t  size 
)

common モジュールを初期化します。

初期化により、Piaライブラリが使用するヒープがセットアップされます。 続いて nn::pia::common::Report インスタンスがセットアップされ、 PIA_REPORT()などが利用できるようになります。 Piaは内部のスレッド管理を効率的にするため、暗黙的にスレッドローカル ストレージを使用しています。詳しくはプログラミングマニュアルを参照してください。

引数
[in]pMemPiaライブラリに渡すメモリブロックの先頭を指すポインタ。 32bit 環境であれば 4バイト、64bit 環境であれば 8バイトのアライメントが必要です。
[in]sizepMemで渡されたメモリブロックのサイズ。単位はバイト。 ヒープを構築できるだけの十分なサイズがない場合、ライブラリ内部で アサート停止します。
戻り値
無事に初期化が完了すれば、成功の Result が返されます。この関数がエラーを返さないようにアプリケーションを実装する必要があります。
返るエラーの一覧:

ResultInvalidArgument 引数が誤っています。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

ResultAlreadyInitialized 既に初期化は終了しています。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

bool nn::pia::common::IsInitialized ( void  )

common モジュールが初期化された状態であるかどうかを返します。

戻り値
初期化されていれば true 、されていなければ false が返されます。
InternalPrintCallback nn::pia::common::RegisterInternalPrintCallback ( InternalPrintCallback  pCallback)

Pia のコンソール出力をフックするコールバックを設定する関数です。

引数
[in]pCallback登録するコールバック関数のポインタ。
戻り値
この関数を呼び出す前に登録されていたコールバック関数のポインタが返されます。 何も登録されていなければ、NULL が返ります。