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

Latest commit

 

History

History

subprocess

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

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.