arms_restore_module()

関数

int arms_restore_module(arms_context_t *ctx, const char *state, size_t size)

呼び出し方向

アプリケーション->libarms

目的

Module Cache を設定する。

説明

arms_dump_module_cb_t() で書き出した Module Cache を本関数で設定させることにより、 arms_pull() を呼び出した時 RS からコンフィグの取得を行わずに Service-Config を SA に反映することがでる。 また、:c:func:arms_pull の後 arms_push_method_query() を呼び出すと、 Push 通信方式のネゴシエーションも省略できる。 メモリ領域の内容は、必ず arms_dump_module_cb_t() にて書き出された内容である必要がある。 不適切なメモリ領域を指定した場合 libarms の動作は保証できない。 なお、本関数を呼び出す前には、 arms_restore_state() の呼び出しが必要である。 本関数がエラーにより失敗した場合、本関数呼び出し前の状態が維持されているため、そのまま arms_pull() を実行することで正常にPull 動作を実行できる。

引数

arms_context_t *ctx
内部ステートを保持するコンテキスト構造体ポインタ。 arms_init() により取得したポインタをそのまま指定する。
const char *state
Module Cache 保存領域のアドレス。 arms_dump_module_cb_t() により得られたデータを指すポインタである必要がある。
size_t size
Module Cache 保存領域のサイズ。 const char *state のサイズを指定する。

返り値

0
正常終了
非0
異常終了( エラーコード体系 参照)
ARMS_ESIZE
サイズが不足している
ARMS_EINVAL
引数の異常

コールバック関数からの呼び出し

不可

ヒストリ

このAPIはVer6.30で追加された。

目次

前のトピックへ

arms_set_md_config_size_limit()

次のトピックへ

arms_get_ls_url()

リンク