burke/zeus

rb-kqueue-burke introduces a hard dependency on FFI

Closed this issue · 3 comments

rb-kqueue-burke introduces a hard dependency on FFI, forcing the host app, to also confirm to this dependency.
Obviously, simply adding zeus as gem to our application solves this.

Unsure what the best course of action is. It is worth a discussion.

Hrm, this does kind of suck. Ideally we'd not depend on anything at all, but certainly implementing FFI is not a good idea.

Maybe it's worth investigating that new file-based API for FSEvents. It sounds like a better solution anyway, as it lets us monitor thousands of files without opening thousands of FDs.

Crappy part: It's Objective-C and we'll have to shell out to it.

The Interface I was imagining was:

Open3.popen3("fsevents-wrapper") { |sdtin, stdout, _, _|
   # every time we start monitoring a new file, write it on its own line to the program's input
   # each line of stdout from the program is the full path of a changed file
}

Fixed! We're now using FSEvents.

yay +1