(*arms_dump_module_cb_t)()
関数
-
typedef int (*arms_dump_module_cb_t)(int action, const char *buff, size_t buff_len, void *udata)
目的
Module Cache の保存・消去を行う。
コールバックテーブルへの登録は任意。
説明
RS からの指示に従い Module Cache の保存・消去をコールバックで指示する。
保存が指示された場合、 SA は Module Cache を不揮発性メモリに保存するなどしておき、
次回起動後に arms_restore_module() を用いて Module Cache を設定することで、
RS アクセスを省いて SA に Service-Config を反映させることができる。
本関数は arms_pull() または arms_event_loop() の内部処理から呼ばれる。
引数
- int action
Module Cache に関する動作種別を示す値。次のいずれかとなる。
- ARMS_DUMP_MODULE_STORE
- Module Cache を不揮発性メモリに保存する。
Module Cache は *buff に渡され、その長さは buff_len に渡される。
- ARMS_DUMP_MODULE_REMOVE
- 不揮発性メモリに保存してある Module Cache を削除する。
- const char *buff
- Module Cache を格納している libarms のバッファ。
Module Cache を消去するときは NULL が渡される。
- size_t buff_len
- Module Cache のデータサイズ。*buff に収められたデータのバイト数。
Module Cache を消去するときは バッファ長に 0 が渡される。
- void *udata
- arms_pull() あるいは arms_event_loop() で指定したポインタ。
返り値
- 0
- 正常終了
- 非0
- 異常終了(エラーコード)
- ARMS_EPULL
- モジュールの同期が必要
ヒストリ
このAPIはVer6.30で追加された。