20.1.57 ead_node_eventlistener構造体(ノードイベントリスナの関数)
ead_node_eventlistener構造体には,ノードイベントリスナ用にユーザが定義する関数のポインタを格納します。
- 〈この項の構成〉
(1) 形式
struct ead_node_eventlistener { void (*on_event)(char*, ead_node_eventcontext*, void*); };
(2) メンバの説明
- on_event
-
ead_node_eventcontext構造体のevent_typeメンバが示すイベントの発生時に,呼び出される関数を格納します。
なお,event_typeメンバにEAD_EVENT_TYPE_RECOVERED(2)が設定されている場合,関数の呼び出し直後にキャッシュを操作するAPIを実行すると,イベントが発生したEADSサーバの処理でエラーが発生するおそれがあります。エラーが発生した場合は,しばらくしてから再実行してください。
イベントが発生したEADSサーバとは,ead_node_eventcontext構造体のnodeidメンバが示すEADSサーバです。
(3) 引数
- char
-
実行されるノードイベントリスナの名称を指定します。
- ead_node_eventcontext
-
ノードイベントリスナ実行時に使用する情報を指すポインタを指定します。
- void
-
ノードイベントリスナ追加時に指定した,ノードイベントリスナとのデータの伝達に使用するポインタを指定します。
(4) 注意事項
-
ポインタにNULLを設定した場合は,ノードイベントリスナの登録に失敗します。
-
ポインタに設定した関数が異常終了した場合,EADSクライアントがダウンするおそれがあります。
-
ポインタに設定した関数の第2引数(ead_node_eventcontext)に指定されたポインタは,その関数が終了すると自動で解放されます。