#inotify #fibers #future #friendly #wrapper #events #inotify-service

fibers_inotify

为 fibers crate 提供的 futures 友好的 inotify 包装器

3 个版本

使用旧的 Rust 2015

0.1.2 2022 年 12 月 20 日
0.1.1 2018 年 1 月 12 日
0.1.0 2018 年 1 月 10 日

#1314 in 异步

MIT 许可证

26KB
554 代码行

fibers_inotify

fibers_inotify Documentation Build Status Code Coverage License: MIT

futures 提供的 inotify 包装器,适用于 fibers crate。

文档.

示例

监视 /tmp 目录

use fibers::{Executor, InPlaceExecutor, Spawn};
use fibers_inotify::{InotifyService, WatchMask};
use futures::{Future, Stream};

let inotify_service = InotifyService::new();
let inotify_handle = inotify_service.handle();

let mut executor = InPlaceExecutor::new().unwrap();
executor.spawn(inotify_service.map_err(|e| panic!("{}", e)));

let fiber = executor.spawn_monitor(
   inotify_handle
       .watch("/tmp/", WatchMask::CREATE | WatchMask::DELETE)
       .for_each(|event| Ok(println!("# EVENT: {:?}", event)))
       .map_err(|e| panic!("{}", e)),
   );

let _ = executor.run_fiber(fiber).unwrap();

依赖

~3MB
~58K SLoC