ステーション(セッションに参加しているマシン)の情報をあらわすクラスです。 [詳解]
#include <NetZ/src/Core/DOCore/Station.h>
公開型 | |
enum | ProcessType { UnknownProcess =0, ClientProcess =1, ServerProcess =2, ToolProcess =4 } |
このステーションのプロセスの種類を表す列挙体です。 [詳解] | |
typedef SelectionIteratorTemplate< Station > | SelectionIterator |
Stationオブジェクトを列挙するためのイテレータです。 | |
enum | State { Unknown = 0, JoiningSession = 1, CreatingSession = 2, Participating = 3, Leaving = 4, LeavingOnFault = 5 } |
ステーションの現在の状態を示す列挙体です。 [詳解] | |
公開メンバ関数 | |
Station () | |
このコンストラクタはアプリケーション側から直接呼び出さないでください。 セッションに参加したタイミングに、Net-Zによって自動的に作成されます。 | |
virtual | ~Station () |
このデストラクタはアプリケーション側から直接呼び出さないでください。 セッションを離脱したときなどにNet-Zによって自動的に破棄されます。 | |
virtual qBool | ApproveEmigration (qUnsignedInt32 uiReason) |
複製オブジェクトがマイグレーションを行うかどうかを返します。 [詳解] | |
virtual qBool | ApproveFaultRecovery () |
複製オブジェクトに障害回復機能をつけるかどうかを返します。 [詳解] | |
qResult | FlushBundle (qBool bFlushTransportBundles=true) |
現在このステーションにメッセージバンドルとしてためられているをメッセージをすべて送信します。 [詳解] | |
qUnsignedInt32 | GetApplicationVersion () const |
このステーションのアプリケーションバージョンを取得します。 [詳解] | |
StationID | GetConnectionID () const |
通信時にステーション(マシン)を指定するためのIDを取得します。 この関数の使用は非推奨です。GetStationID() を使用してください。 [詳解] | |
EndPointInfoInterface * | GetEndPointInfoInterface () const |
ステーションの EndPointInfoInterface を取得します。 [詳解] | |
const String & | GetIdentificationToken () const |
このステーションの識別トークンを取得します。 [詳解] | |
qUnsignedInt8 | GetLanguageCode () const |
このステーションのプレーヤー名の言語コードを取得します。 [詳解] | |
size_t | GetNumOfRoutingConnections () const |
このステーションが持つマスター経由通信の数を取得します。 [詳解] | |
DOHandle | GetObserver () const |
ステーションのオブザーバーを取得します。推測航法で利用します。 [詳解] | |
const String & | GetPlayerName () const |
このステーションのプレーヤー名を取得します。 [詳解] | |
PrincipalID | GetPrincipalID () const |
このステーションのプリンシパル ID を取得します。 [詳解] | |
qUnsignedInt32 | GetProcessType () const |
このステーションのプロセス種別を取得します。 [詳解] | |
TimeInterval | GetRTT () |
ローカルステーションと相手ステーションとの間のRTTの現在値を取得します。 [詳解] | |
TimeInterval | GetRTTAverage () |
ローカルステーションと相手ステーションとの間のRTTの平均値を取得します。 [詳解] | |
State | GetState () const |
ステーションの現在のステータスを取得します。 [詳解] | |
StationID | GetStationID () const |
セッションの中でステーション(マシン)を特定するためのIDを取得します。 StationIDは、マスター交代後の新規ステーションにアサインされる値が飛ぶ可能性があり、連続値である保証はありません。P2P参加ステーション内でユニークであることは保証されます。 [詳解] | |
const qChar * | GetStationURL (qInt iIndex) const |
このステーションのURLを文字列にしたものを取得します。 [詳解] | |
void | GetStationURLs (qList< StationURL > *plstURLs) const |
このステーションの、有効な StationURL のリストを取得します。 [詳解] | |
qBool | IsAPeer () const |
このステーションがセッションに参加しているリモート接続相手であるかどうかを取得します。 [詳解] | |
qBool | IsConnected () const |
実行しているマシンとこのステーションが接続を持っているかどうかを取得します。 [詳解] | |
qBool | IsLocal () const |
ステーションのインスタンスが、このマシン自身を表すかどうかを取得します。 [詳解] | |
qBool | KickStation () |
指定されたステーションをセッションから離脱させます。 指定されたステーションは、周りのステーションからフォルト扱いで切断されて、 Session::CheckGameIsOver() がtrueとなります。 [詳解] | |
virtual void | OperationBegin (DOOperation *pOperation) |
複製オブジェクトシステム操作が開始されるたびに呼び出されます。 [詳解] | |
virtual void | OperationEnd (DOOperation *pOperation) |
複製オブジェクトシステム操作が終了されるたびに呼び出されます。 [詳解] | |
qBool | SignalFault (qBool bProcessNow=true) |
指定されたステーションを強制切断します。デバッグ用機能です。 [詳解] | |
virtual void | Trace (qUnsignedInt64 uiTraceFlags=TRACE_ALWAYS) const |
この複製オブジェクトの状態をトレースします(デバッグ用)。 [詳解] | |
静的公開メンバ関数 | |
static DOHandle | ConvertConnectionIDToDOHandle (StationID stationId) |
StationIDから Station の DOHandle に変換します。 本関数の使用は非推奨です。ConvertStationIDToDOHandle() を使用してください。 [詳解] | |
static DOID | ConvertDOHandleToDOID (DOHandle hStation) |
任意の Station の DOHandle を指定して、 DOIDに変換します。 [詳解] | |
static StationID | ConvertDOHandleToID (DOHandle hStation) |
任意の Station の DOHandle を指定して、 P2P セッション上でユニークな ID(StationID)に変換します。 本関数の使用は非推奨です。 ConvertDOHandleToStationID() を使用してください。 [詳解] | |
static StationID | ConvertDOHandleToStationID (DOHandle hStation) |
任意の Station の DOHandle を指定して、 P2P セッション上でユニークな ID(StationID)に変換します。 [詳解] | |
static DOHandle | ConvertStationIDToDOHandle (StationID stationId) |
StationIDから Station の DOHandle に変換します。 [詳解] | |
static void | FlushAllBundles (qBool bFlushTransportBundles=true) |
すべてのメッセージバンドルに登録されているメッセージを送信します。 [詳解] | |
static size_t | GetApprovedStationNum () |
セッションへの参加が承認されたステーションの数を返します。 セッションの参加の承認・拒否は、Session::RegisterJoinApprovalCallback に登録したコールバックで行うことができます。 セッションマスターのステーションは常に承認済みとしてカウントされます。 [詳解] | |
static Station * | GetLocalInstance () |
現在実行しているマシンを表すステーションの複製オブジェクトへのポインタを取得します。 [詳解] | |
static DOHandle | GetLocalObserver () |
ローカルステーションのオブザーバーを取得します。推測航法で利用します。 [詳解] | |
static DOHandle | GetLocalStation () |
現在実行しているマシンを表すステーションの複製オブジェクトハンドルを取得します。 [詳解] | |
static qBool | KickMe () |
ローカルステーションをセッションから離脱させます。 ローカルステーションは、周りのステーションからフォルト扱いで切断されて、 Session::CheckGameIsOver() がtrueとなります。 スレッドセーフモードのときはスレッドセーフです。 [詳解] | |
static qBool | RegisterObserver (DOHandle idObserver) |
複製オブジェクトをステーションのオブザーバに登録します。推測航法で利用します。 [詳解] | |
static void | RegisterOperationBeginCallback (void(*pfOperationBegin)(StationOperation *pOperation)) |
StationOperationが実行されるたびに呼び出されるコールバックを登録します。 [詳解] | |
static void | RegisterOperationEndCallback (void(*pfOperationEnd)(StationOperation *pOperation)) |
StationOperationが実行されるたびに呼び出されるコールバックを登録します。 [詳解] | |
static void | SetLocalApplicationVersion (qUnsignedInt32 applicationVersion) |
ローカルステーションのアプリケーションバージョンを設定します。 アプリケーション独自の任意の数値を設定できます。 この関数で設定した値は他のステーションから GetApplicationVersion で参照する事ができます。 この関数は Net-Z インスタンスを作成した後に呼び出してください。 [詳解] | |
static void | SetLocalIdentificationToken (const String &strIdentificationToken) |
ローカルステーションの識別トークンを設定します。 この関数で設定した値は他のステーションから GetIdentificationToken で参照する事ができます。 この関数は Net-Z インスタンスを作成した後に呼び出してください。 [詳解] | |
static void | SetLocalPlayerName (const String &playerName, qUnsignedInt8 languageCode) |
ローカルステーションのプレーヤー名と言語コードを設定します。 [詳解] | |
static qBool | UnregisterObserver () |
ステーションのオブザーバ登録を取り消します。推測航法で利用します。 [詳解] | |
静的公開変数類 | |
static const TimeInterval | STATION_UNKNOWN_RTT =-1 |
無効なRTTを表します。 | |
非公開型 | |
typedef RefTemplate< DuplicatedObject > | Ref |
複製オブジェクトへの安全な参照を行うためのtypdef | |
非公開メンバ関数 | |
qBool | AttemptEmigration (DOHandle hNewLocation) |
この複製オブジェクトを指定されたステーションに対してエミグレーションさせます。 [詳解] | |
virtual qReal | ComputeDistance (DuplicatedObject *pOtherObject) |
推測航法において、距離ベースの推定エラーを計算する際の距離計算を行います。 [詳解] | |
qBool | CreateDuplica (DOHandle hNewDuplicaStation) |
この複製オブジェクトのデュプリカを作成します。 [詳解] | |
qBool | DeleteMainRef () |
複製オブジェクトの主参照を削除するように指示します。 [詳解] | |
qBool | Emigrate (MigrationContext *pContext, DOHandle hTargetStation) |
この複製オブジェクトを指定されたステーションに対してエミグレーションさせます。 [詳解] | |
const qChar * | GetClassNameString () const |
複製オブジェクトのクラス名を文字列として取得します。 [詳解] | |
const qChar * | GetDatasetNameString (qByte byDatasetIndex) const |
この複製オブジェクトに関連付けられているデータセットの名称を取得します。 [詳解] | |
DOClassID | GetDOClassID () const |
この複製オブジェクトの複製オブジェクトクラスIDを取得します。 [詳解] | |
DOHandle | GetHandle () const |
この複製オブジェクトの複製オブジェクトハンドルを取得します。 [詳解] | |
qUnsignedInt32 | GetHandleValue () const |
この複製オブジェクトのインスタンスを表すqUnsignedInt32 型の値を取得します。 [詳解] | |
StationID | GetMasterID () const |
この複製オブジェクトのマスターのステーションのStationIDを取得します。 [詳解] | |
DOHandle | GetMasterStation () const |
この複製オブジェクトの複製マスターとなっているStation オブジェクトの複製オブジェクトハンドルを取得します。 [詳解] | |
qBool | HasAuthority () const |
この複製オブジェクトが権限を持っているかどうかを取得します。 [詳解] | |
virtual void | InitDO () |
複製オブジェクトが初期化されたときにシステム側から呼び出されます。 [詳解] | |
qBool | IsA (DOClassID idDOCID) const |
この複製オブジェクトインスタンスが指定された複製オブジェクトクラスのインスタンスであるかを調べます。 [詳解] | |
virtual qBool | IsACoreDO () const |
この複製オブジェクトがCoreDOであるかどうかを取得します。 [詳解] | |
qBool | IsADuplica () const |
この複製オブジェクトがデュプリカであるか、そうでないかを取得します。 [詳解] | |
qBool | IsADuplicationMaster () const |
この複製オブジェクトが複製マスターであるか、そうでないかを取得します。 [詳解] | |
qBool | IsAKindOf (DOClassID idDOCID) const |
この複製オブジェクトインスタンスが指定された複製オブジェクトクラス、またはその派生関係であるかどうかを調べます。 [詳解] | |
qBool | IsAUserDO () const |
この複製オブジェクトがUserDOであるかどうかを取得します。 [詳解] | |
qBool | IsAWellKnownDO () const |
この複製オブジェクトが既知オブジェクトクラスのインスタンスであるかどうかを取得します。 [詳解] | |
qBool | IsGlobal () const |
このインスタンスがグローバル複製オブジェクトであるかどうかを取得します。 [詳解] | |
qBool | IsPublished () const |
この関数が発行されたかどうかを取得します。 [詳解] | |
qBool | MainRefIsDeleted () const |
DeleteMainRef 関数がこのオブジェクトに対して呼び出されたかどうかを取得します。 [詳解] | |
qBool | MigrationInProgress () const |
この複製オブジェクトがマイグレーションを行っている最中かどうかを取得します。 [詳解] | |
qBool | Publish (qUnsignedInt32 uiTimeout=DEFAULT_PUBLISH_TIMEOUT) |
この複製オブジェクトのインスタンスをセッションにいるステーションに発行します。 [詳解] | |
qBool | Refresh () |
デュプリカのデータセットの情報をバッファから転送します。 [詳解] | |
qBool | Refresh (const Time &tRefreshTime) |
デュプリカのデータセットの情報をバッファから転送します。 [詳解] | |
qBool | Refresh (DataSet &refDataset) |
デュプリカのデータセットの情報をバッファから転送します。 [詳解] | |
qBool | Refresh (DataSet &refDataset, const Time &tRefreshTime) |
デュプリカのデータセットの情報をバッファから転送します。 [詳解] | |
qResult | Update () |
すべてのデータセットの内容が更新されたことをセッションに存在するデュプリカに通知します。 [詳解] | |
qResult | Update (const Time &tUpdateTime) |
すべてのデータセットの内容が更新されたことをセッションに存在するデュプリカに通知します。 [詳解] | |
qResult | Update (DataSet &refDataset) |
指定されたデータセットの内容が更新されたことをセッションに存在するデュプリカに通知します。 [詳解] | |
qResult | Update (DataSet &refDataset, const Time &tUpdateTime) |
指定されたデータセットの内容が更新されたことをセッションに存在するデュプリカに通知します。 [詳解] | |
静的非公開メンバ関数 | |
static DuplicatedObject * | Create (qUnsignedInt32 uiTimeout==DEFAULT_CREATE_TIMEOUT) |
複製オブジェクトのローカルインスタンスを作成します。 [詳解] | |
static DuplicatedObject * | Create (DOID idUserDefinedID) |
複製オブジェクトのローカルインスタンスを作成します。 [詳解] | |
static DuplicatedObject * | Create (DOClassID idDOClass, qUnsignedInt32 uiTimeout=WAIT_INFINITE_TIMEOUT) |
複製オブジェクトのローカルインスタンスを作成します。 [詳解] | |
static DuplicatedObject * | Create (DOClassID idDOClass, DOID idUserDefinedID) |
複製オブジェクトのローカルインスタンスを作成します。 [詳解] | |
static DuplicatedObject * | Create (const DOHandle &dohHandle) |
複製オブジェクトのローカルインスタンスを作成します。 [詳解] | |
static DuplicatedObject * | CreateWellKnown (WKHandle &hWK) |
指定された既知オブジェクトを作成します。 [詳解] | |
static DuplicatedObject * | DynamicCast (DuplicatedObject *pDO) |
複製オブジェクトへのポインタの動的キャストを行います。 [詳解] | |
static qBool | FetchDuplica (FetchContext *pContext, DOHandle hFetchedObject) |
複製オブジェクトのデュプリカを取ってきます。 [詳解] | |
static DOOperation * | GetCurrentOperation () |
現在実行している最中の、複製オブジェクトに対する操作オブジェクトへのポインタを取得します。 [詳解] | |
static OperationManager * | GetOperationManager () |
OperationManager へのポインタを取得します。 [詳解] | |
静的非公開変数類 | |
static const qUnsignedInt32 | DEFAULT_CREATE_TIMEOUT = 1000 |
DuplicatedObject::Create で指定されるデフォルトのタイムアウト値です。単位はミリ秒です。 [詳解] | |
static const qUnsignedInt32 | DEFAULT_PUBLISH_TIMEOUT = 1000 |
DuplicatedObject::Publish で指定されるデフォルトのタイムアウト値です。単位はミリ秒です。 [詳解] | |
ステーション(セッションに参加しているマシン)の情報をあらわすクラスです。
このクラスを経由してセッションに参加しているそれぞれのマシンを管理することが出来ます。 Stationクラス自体も複製オブジェクトとして管理されています。
ステーションの現在の状態を示す列挙体です。
|
static |
現在実行しているマシンを表すステーションの複製オブジェクトハンドルを取得します。
|
static |
現在実行しているマシンを表すステーションの複製オブジェクトへのポインタを取得します。
StationIDから Station の DOHandle に変換します。 本関数の使用は非推奨です。ConvertStationIDToDOHandle() を使用してください。
[in] | stationId | 変換したい StationID を指定します。 |
任意の Station の DOHandle を指定して、 P2P セッション上でユニークな ID(StationID)に変換します。 本関数の使用は非推奨です。 ConvertDOHandleToStationID() を使用してください。
[in] | hStation | 変換したい DOHandle を指定します。 |
|
static |
ローカルステーションの識別トークンを設定します。 この関数で設定した値は他のステーションから GetIdentificationToken で参照する事ができます。 この関数は Net-Z インスタンスを作成した後に呼び出してください。
strIdentificationToken | ステーションに紐づいたユーザー定義の文字列 |
|
static |
ローカルステーションのプレーヤー名と言語コードを設定します。
ローカルステーションのプレーヤー名と言語コードを設定し、自動的にクライアントの プリンシパル ID を設定します。
この関数で設定した値は他のステーションから GetPlayerName() , GetLanguageCode() , GetPrincipalID() で参照することが出来ます。 名前の長さは16文字(NULL終端を含めない)以内である必要があります。
この関数は Net-Z インスタンスを作成した後に呼び出してください。 P2P セッション毎(NetZ オブジェクトを作り直す毎に)に本関数を用いてプレーヤー名を指定する必要があります。
languageCode については、アプリケーションで別リージョンの言語を判定する場合に指定してください。本体の言語設定を使用したい場合には、 nn::cfg::CTR::GetLanguage() の値が利用可能です。
playerName | 他の P2P セッション参加者から参照される名前 |
languageCode | 名前の言語コード |
|
static |
ローカルステーションのアプリケーションバージョンを設定します。 アプリケーション独自の任意の数値を設定できます。 この関数で設定した値は他のステーションから GetApplicationVersion で参照する事ができます。 この関数は Net-Z インスタンスを作成した後に呼び出してください。
applicationVersion | アプリケーションバージョンを示す数値 |
|
static |
ローカルステーションのオブザーバーを取得します。推測航法で利用します。
ローカルステーションに対して Station::GetObserver() で得られるものと同等です。
推測航法についてはプログラミングマニュアルを参照してください。
複製オブジェクトをステーションのオブザーバに登録します。推測航法で利用します。
DuplicatedObject::ComputeDistance() の引数として渡される複製オブジェクトを登録できます。
推測航法についてはプログラミングマニュアルを参照してください。
[in] | idObserver | オブザーバーとして登録する複製オブジェクトの DOHandle を指定します。 |
|
static |
|
static |
すべてのメッセージバンドルに登録されているメッセージを送信します。
メッセージバンドルとは、送信されるメッセージを一時的にプールして送信を待機させ、 ある程度まとまった間隔でメッセージを送信する機能のことです。 これによって帯域幅を節約することが出来ます。 詳しくはNEXプログラミングマニュアルをご覧ください。
メッセージバンドル機能が有効である場合、送信されようとしたメッセージは一時的にプールされ、 即座に送信されることはありません。この関数を呼びだしたときに、プールされたすべてのメッセージを フラッシュし、すべてのステーションに対するすべてのメッセージを送信します。
State nn::nex::Station::GetState | ( | ) | const |
ステーションの現在のステータスを取得します。
qBool nn::nex::Station::IsAPeer | ( | ) | const |
qBool nn::nex::Station::IsLocal | ( | ) | const |
qUnsignedInt32 nn::nex::Station::GetProcessType | ( | ) | const |
このステーションのプロセス種別を取得します。
const String& nn::nex::Station::GetIdentificationToken | ( | ) | const |
このステーションの識別トークンを取得します。
const String& nn::nex::Station::GetPlayerName | ( | ) | const |
このステーションのプレーヤー名を取得します。
qUnsignedInt8 nn::nex::Station::GetLanguageCode | ( | ) | const |
このステーションのプレーヤー名の言語コードを取得します。
PrincipalID nn::nex::Station::GetPrincipalID | ( | ) | const |
このステーションのプリンシパル ID を取得します。
qUnsignedInt32 nn::nex::Station::GetApplicationVersion | ( | ) | const |
このステーションのアプリケーションバージョンを取得します。
|
virtual |
複製オブジェクトがマイグレーションを行うかどうかを返します。
マイグレーションとは、複製オブジェクトのコントロール権限が 別のステーションに移行することを指します。 この関数は、正常シーケンスでステーションがセッションから抜けるとき、 その直前にシステム側から呼び出され、 別のステーションにオブジェクトの権限を移行するかどうかを返します。 アプリケーションはこの関数をオーバーライドすることによって挙動を変更することが出来ます。
障害発生時(たとえば電源断などが原因でステーションが急にセッションから消えたときなど)に、 複製オブジェクトが存在し続ける機能を実装する場合は、 この関数ではなく、ApproveFaultRecovery 関数をオーバーライドします。
※この関数はアプリケーション側から呼び出すためではなく、 システム側から呼び出されるために用意されています。
[in] | uiReason | 常にMIGRATION_REASON_LEAVING_SESSIONが指定されます。 |
true 複製オブジェクトのマイグレーションを行います。 セッションに存在していた複製オブジェクトはそのコントロール権限をセッションに残るステーションに移譲します。
false 複製オブジェクトのマイグレーションを行いません。 今までセッションに存在していた複製オブジェクトは破棄されます。
nn::nex::DuplicatedObjectを再実装しています。
|
virtual |
複製オブジェクトに障害回復機能をつけるかどうかを返します。
電源断などの障害発生時に、この仮想関数がシステム側から呼び出され、 複製オブジェクトがセッション中に存在し続けるかどうかを返します。 複製オブジェクトのすべてのインスタンス(複製マスター、およびデュプリカ)にて呼び出されますが、 同一クラスのすべてのインスタンスすべてが同じ値を返す必要があります。
この関数をアプリケーションでオーバーライドすることによって、 複製オブジェクトクラスごとに挙動を変更することが出来ます。 デフォルトでは、このシステムコールバックは常にfalseを返す (マイグレーションが発生しない)ようになっています。
この機能は、電源断など、障害が発生したことに対してのみ有効です。 正常シーケンスでのセッション離脱においても同様に複製オブジェクトを セッションに残し続けるには、AttemptEmigration(DOHandle) をオーバーライドしてください。
※この関数はアプリケーション側から呼び出すためではなく、 システム側から呼び出されるために用意されています。
true マイグレーションを発生させる場合に返ります。
false マイグレーションを発生させない場合に返します。
nn::nex::DuplicatedObjectを再実装しています。
|
virtual |
複製オブジェクトシステム操作が開始されるたびに呼び出されます。
この関数は、複製オブジェクトシステム操作(DOOperation)が開始されようとしているときに その複製オブジェクトシステム操作インスタンスへのポインタとともにシステム側から呼び出されます。 Operation::GetType 関数を呼び出すことによって どの種類の操作が行われようとしているかを判定することが出来ます。
※この関数はアプリケーション側から呼び出すためではなく、 システム側から呼び出されるために用意されています。
[in] | pOperation | これから実行される操作オブジェクトへのポインタが渡されます。 |
nn::nex::DuplicatedObjectを再実装しています。
|
virtual |
複製オブジェクトシステム操作が終了されるたびに呼び出されます。
この関数は、複製オブジェクトシステム操作(DOOperation)が終わった後で その複製オブジェクトシステム操作インスタンスへのポインタとともにシステム側から呼び出されます。 Operation::GetType 関数を呼び出すことによって どの種類の操作が行われようとしているかを判定することが出来ます。
※この関数はアプリケーション側から呼び出すためではなく、 システム側から呼び出されるために用意されています。
[in] | pOperation | これから実行される操作オブジェクトへのポインタが渡されます。 |
nn::nex::DuplicatedObjectを再実装しています。
qBool nn::nex::Station::IsConnected | ( | ) | const |
実行しているマシンとこのステーションが接続を持っているかどうかを取得します。
true 実行しているマシンはこのステーションとの接続を持っています。
false 接続を持っていない、あるいは何かしらエラーが発生したときに返ります。
DOHandle nn::nex::Station::GetObserver | ( | ) | const |
TimeInterval nn::nex::Station::GetRTT | ( | ) |
ローカルステーションと相手ステーションとの間のRTTの現在値を取得します。
ローカルステーションから、相手ステーションに向けてメッセージを送り、 相手からそのメッセージに対する確認が帰ってくるまでの時間のことを RTT(Round Trip Time)と呼びます。この機能は、相手のステーションまで直接接続されているときのみ利用できます。
TimeInterval nn::nex::Station::GetRTTAverage | ( | ) |
|
virtual |
この複製オブジェクトの状態をトレースします(デバッグ用)。
[in] | uiTraceFlag | どのフラグが有効であるときにトレースを実行するのか指定します。 |
nn::nex::DuplicatedObjectを再実装しています。
EndPointInfoInterface* nn::nex::Station::GetEndPointInfoInterface | ( | ) | const |
ステーションの EndPointInfoInterface を取得します。
ステーションが保持している EndPointInfoInterface のポインタを取得します。 EndPointInfoInterface を介して、 EndPointの統計情報である EndPointInfo の取得・操作が可能です。
EndPointInfoInterface の取得の際には、 Scheduler::SystemLock()が必要です。
void nn::nex::Station::GetStationURLs | ( | qList< StationURL > * | plstURLs | ) | const |
このステーションの、有効な StationURL のリストを取得します。
ステーションのURLは、外回線に出るときのグローバルなものや、 LAN内などの閉じた環境でのURLなど、複数存在します。 本関数はそれを一度に複数取得できます。
先頭要素は基本的に外回線にでるときのグローバルなURLが格納されています。
1つのURLだけ取得したい場合は GetStationURL の使用を推奨します。
[out] | plstURLs | このステーションの有効なURLのリストを格納するためのqList型のポインタを指定します。 |
このステーションのURLを文字列にしたものを取得します。
ステーションのURLは、外回線に出るときのグローバルなものや、 LAN内などの閉じた環境でのURLなど、複数存在します。 本関数はそれを1つだけ取得できます。
先頭要素は基本的に外回線にでるときのグローバルなURLが格納されています。 つまり、 GetStationURL(0) でグローバルなURLの文字列を取得することができます。
1~4以外の引数を指定した場合は常に空文字列が返ります。
一度に複数のURLを取得したい場合は GetStationURLs を使用してください。
[in] | iIndex | 取得したいURLリストのインデックス |
現在このステーションにメッセージバンドルとしてためられているをメッセージをすべて送信します。
メッセージバンドルとは、送信されるメッセージを一時的にプールして送信を待機させ、 ある程度まとまった間隔でメッセージを送信する機能のことです。 これによって帯域幅を節約することが出来ます。 詳しくはNEXプログラミングマニュアルをご覧ください。
伝送メッセージバンドルは定期的にフラッシュされる必要がありますので、 通常の間隔でこの関数を呼び出すときは bFlushTransportBundles をtrueにしなければなりません。
[in] | bFlushTransportBundles | これが true のとき、メッセージバンドルのあとで伝送メッセージバンドルもフラッシュされます(デフォルトは true)。 |
指定されたステーションを強制切断します。デバッグ用機能です。
ステーション不一致の検証用に利用してください。
[in] | bProcessNow | true:他のステーションと終了処理なしにステーションを切断します。 false:他のステーションとの終了処理を行ってステーションを切断します。 |
true 強制切断が成功した場合に返ります。
false すでに接続がなかった場合など、強制切断が成功しなかった場合に返ります。
StationID nn::nex::Station::GetStationID | ( | ) | const |
セッションの中でステーション(マシン)を特定するためのIDを取得します。 StationIDは、マスター交代後の新規ステーションにアサインされる値が飛ぶ可能性があり、連続値である保証はありません。P2P参加ステーション内でユニークであることは保証されます。
StationID nn::nex::Station::GetConnectionID | ( | ) | const |
通信時にステーション(マシン)を指定するためのIDを取得します。 この関数の使用は非推奨です。GetStationID() を使用してください。
size_t nn::nex::Station::GetNumOfRoutingConnections | ( | ) | const |
このステーションが持つマスター経由通信の数を取得します。
RootTransport::GetRoutingHistoryTTL() [ms]以内に通信の発生したマスター経由通信の数を返します。 送信、受信をそれぞれカウントします。つまり、このステーションが別の1台のステーションとマスター経由通信していた場合、この関数は2を返します。 本関数を使用する前にはあらかじめRootTransport::SetRoutingHistoryUpdateSpan で0より大きい更新間隔を設定する必要があります。 この関数はセッションマスターのみ呼び出せます。
qBool nn::nex::Station::KickStation | ( | ) |
指定されたステーションをセッションから離脱させます。 指定されたステーションは、周りのステーションからフォルト扱いで切断されて、 Session::CheckGameIsOver() がtrueとなります。
本メソッドは通常セッションマスター( Session::GetRole()で、 SESSION_ROLE_MASTERが返ってくるステーション)で実行します。 また、ローカルステーションを指定することができません。ローカルステーションを離脱させるときには、 KickMe()を用いてください。
ロス率が高いときには、指定されたステーションを離脱する信号が正しく到着しない場合があります。 その場合は、指定されたステーションは、周りステーションから切断されて孤立します。
true 離脱する信号の送信に成功したときに返ります。
false キックする相手がいなかった時やローカルステーションを指定した時など、離脱する信号の送信に失敗したときに返ります。
|
static |
ローカルステーションをセッションから離脱させます。 ローカルステーションは、周りのステーションからフォルト扱いで切断されて、 Session::CheckGameIsOver() がtrueとなります。 スレッドセーフモードのときはスレッドセーフです。
true 離脱する信号の送信に成功したときに返ります。
false 離脱する信号の送信に失敗したときに返ります。
|
static |
StationOperationが実行されるたびに呼び出されるコールバックを登録します。
StationOperation が実行されるたびに呼び出されるコールバックを登録し、 ステーションがセッションに参加した際の開始タイミング、セッションから離脱した際の開始タイミングを知ることができます。
[in] | pfOperationBegin | コールバック関数へのポインタを指定します。 |
|
static |
StationOperationが実行されるたびに呼び出されるコールバックを登録します。
StationOperation が実行されるたびに呼び出されるコールバックを登録し、 ステーションがセッションに参加した際の完了タイミング、セッションから離脱した際の完了タイミングを知ることができます。
[in] | pfOperationEnd | コールバック関数へのポインタを指定します。 |
|
static |
セッションへの参加が承認されたステーションの数を返します。 セッションの参加の承認・拒否は、Session::RegisterJoinApprovalCallback に登録したコールバックで行うことができます。 セッションマスターのステーションは常に承認済みとしてカウントされます。