20.1.36 ead_get_slave_nodelist()(データの本来のコピー先EADSサーバの情報取得)
(1) 機能
指定したEADSサーバに格納されているデータの,本来のコピー先EADSサーバの情報を取得します。
本来のコピー先EADSサーバとは,クラスタを構成するすべてのEADSサーバが正常に接続できる場合に,指定したEADSサーバ(コピー元EADSサーバ)に格納されているデータの,コピー先となるEADSサーバのことです。
(2) 形式
#include <eads.h> ead_nodelist ead_get_slave_nodelist ( const EAD_CACHE_MANAGER *cmp, /* In */ const ead_node *master_node, /* In */ int *error_code /* Out */ );
(3) 引数
- cmp
-
キャッシュを管理するキャッシュマネージャのハンドル(ポインタ)を指定します。ead_init_client()またはead_init_client_n()で取得したハンドルを指定してください。
- master_node
-
コピー元のデータを格納するEADSサーバ(ead_node構造体)を指すポインタを指定します。
EADSが提供するクライアントライブラリを使用して取得したead_node構造体のポインタだけ指定できます。それ以外のポインタを指定した場合の動作は保証しません。
ead_node構造体の形式と説明については,「20.1.54 ead_node構造体(EADSサーバ指定のユーザファンクションで使用するオブジェクト)」を参照してください。
指定したead_node構造体が格納するアドレス情報(IPアドレスおよびポート番号)が,EADSクライアントが保持するどのEADSサーバのアドレス情報とも一致しない場合,エラーとなります。
- error_code
-
エラーコード取得先のポインタを指定します。
エラーコードについては,「20.2 クライアントライブラリのエラーコード(C言語)」を参照してください。
(4) 戻り値
本来のコピー先EADSサーバの情報(ead_nodelist構造体)が返却されます。
ead_nodelist構造体の形式と説明については,「20.1.53 ead_nodelist構造体(EADSサーバ情報)」を参照してください。
データを多重化しない場合(多重度が1の場合),ead_nodelist構造体のlist_sizeメンバには0が,nodesメンバにはNULLが返却されます。
異常終了時は,ead_nodelist構造体のnodesメンバにNULLが返却されます。
(5) 注意事項
-
戻り値として返却されたead_nodelist構造体のnodesメンバがNULLでない場合,メモリ領域は自動的に解放されないため,APで解放してください。詳細については,「19.1.1(10) 戻り値として返却されたメモリ領域を解放する」を参照してください。
-
AP実行時にEADSサーバへの通信は行われません。そのため,返却された接続先EADSサーバの情報が最新でないことがあります。
-
この関数の実行時には,指定したEADSサーバ,および情報の取得対象となるEADSサーバの接続可否は考慮されません。そのため,取得した情報には,縮退状態などで接続できないEADSサーバの情報が含まれていることがあります。