Skip to content
This repository has been archived by the owner on Dec 14, 2019. It is now read-only.

Latest commit

 

History

History
7 lines (4 loc) · 664 Bytes

README.md

File metadata and controls

7 lines (4 loc) · 664 Bytes

Notify Subprocess

This is a simple Rust executable that wraps the notify crate.

On the main thread, it creates a Supervisor, which owns a Watcher implementation as well as an array of Watch objects. When the Supervisor is constructed, we spawn a background thread that reads events sent by the notify crate on a channel. The thread shares a synchronized reference to the watchers array.

When the background thread receives events, we iterate through the watches and allow them to process events. When a watch finds events that fall under its root, we produce an Event which is pushed to a batch of Outgoing::WatchEvents and emitted as JSON.