uv_fs_poll_t — FS Pollハンドル¶
FS Pollハンドルは、指定したパスの変更を監視できます。uv_fs_event_tとは異なり、FS Pollハンドルはstatでファイルの変更を検出するため、FS Eventハンドルが動作しないファイルシステムでも使えます。
データ型¶
-
type uv_fs_poll_t¶
FS Pollハンドルの型です。
-
typedef void (*uv_fs_poll_cb)(uv_fs_poll_t *handle, int status, const uv_stat_t *prev, const uv_stat_t *curr)¶
次の関数へ渡すコールバックです:
uv_fs_poll_start()。ハンドルを開始した後、監視対象のパスに変更があるたびに呼び出します。コールバックは、status < 0で呼び出されます。これは、pathが存在しない、またはアクセスできない場合です。監視は停止しませんが、ファイルの作成やエラーの原因が変わるなど、何か変化が起きるまではコールバックを再度呼び出しません。
次の条件、status == 0の場合、コールバックは変更前と変更後の
uv_stat_t構造体へのポインターを受け取ります。これらはコールバックの実行中だけ有効です。
公開メンバー¶
該当なし
関連項目
次の型のuv_handle_tメンバーも適用されます。
API¶
-
int uv_fs_poll_init(uv_loop_t *loop, uv_fs_poll_t *handle)¶
ハンドルを初期化します。
-
int uv_fs_poll_start(uv_fs_poll_t *handle, uv_fs_poll_cb poll_cb, const char *path, unsigned int interval)¶
次のパス、pathのファイルに変更があるかを、intervalミリ秒ごとに検査します。
注記
移植性を最大限に確保するには、数秒単位の間隔を使ってください。1秒未満の間隔では、多くのファイルシステムですべての変更を検出できません。
-
int uv_fs_poll_stop(uv_fs_poll_t *handle)¶
ハンドルを停止します。以後、コールバックを呼び出しません。
-
int uv_fs_poll_getpath(uv_fs_poll_t *handle, char *buffer, size_t *size)¶
ハンドルが監視しているパスを取得します。バッファはユーザーが事前に確保する必要があります。成功時は0、失敗時は0未満のエラーコードを返します。成功時は、bufferにパスが入り、sizeにその長さが入ります。バッファが十分な大きさでない場合は、UV_ENOBUFSを返し、sizeを必要なサイズに設定します。
バージョン1.3.0での変更: 返す長さに終端ヌルバイトを含めなくなり、バッファもヌル終端しなくなりました。
バージョン1.9.0での変更: 次のエラー、UV_ENOBUFSの場合、返す長さに終端ヌルバイトを含めるようになりました。また、成功時にはバッファをヌル終端します。
関連項目
次の型のuv_handle_tAPI関数も適用されます。