Pull
====

LS/RS からコンフィグを取得する処理は、 :c:func:`arms_pull` 関数1 つに集約されている。

=================== ====================================
API 名              解説
=================== ====================================
:c:func:`arms_pull` 初期化された情報を用いてPull を行う
=================== ====================================

:c:func:`arms_pull` は、LS およびRS への接続処理を適切に行い、Service-Config の取得/反映までを実行する関数である。
回線やサーバの通信タイムアウトなどが発生した場合は、この関数内で予め指定された回数のリトライを行う。

LS-Skip について
----------------

:c:func:`arms_pull` は、特に指定しない限り通常はLS に対する接続から開始するが、
LS から取得したLocation-Config をメモリ上にダンプするAPI が提供されている。
これを :c:func:`arms_pull` 実行前に libarms に読み込ませることで、LS への接続をskip し、
RS への接続から開始するようにできる。これらを実行するためのAPI は以下の通りである。

============================ ===============================================
API 名                       解説
============================ ===============================================
:c:func:`arms_dump_state`    取得したLocation-Config をメモリ上にダンプする
:c:func:`arms_restore_state` 事前にダンプされたLocation-Config を読み込む
============================ ===============================================
