tree e871a1c4981e35f14f1ef380dd42c9e448b2b8cd
parent a618f076c8cfc422e6d1f6f1f881af9152aa7c82
author Martin Tournoij <martin@arp242.net> 1714617940 +0200
committer GitHub <noreply@github.com> 1714617940 +0200
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJmMv5UCRC1aQ7uu5UhlAAA0AsQADVLvkqmZv44MDfZ9myO96c/
 K1Q1OEPVO2IPFeGxK3ZfdoP0B7QuZUq11LRiXLIIrnyJ1hxTgsi2J2xU0VNj6oEn
 T5kRF/JVBVrQ2+nUmDZp7yOt+0w2r3MseI3I73bGcGn6h/dmPVOoS4LbWt4MDhPC
 9YGCJYkN+ERvP+B7BsOsXBLa9FtjA9dqzIiO1zYk6NrCalcgDs2hUlDvFUsCWizb
 I9q8QkfqTBc+S9eQMc1S9hWlLl3Rf1TANlYs6YrqA8cftm9SZpYnwy2qeNB+26lx
 5W8vyRp0Y/AF5e+x0julFSELSqEhOSN/rZkzmN2tFXwR77fCtpPssCew5PeqIkCK
 Q1qwDjXmV0FK84mGRjnvkR2E0TxEnMmgxj9YoTojXBvuIan+QblidMeX3RtxW5WH
 iGA2XfS/JTQG2RZ4VZjqvftuCVGGYkrUMtF7h/W/4PhklY4JQF+taEIEp/5PW6q+
 REjrFVXko1EcYCjK3zVy82R1yT6S1fgx7olQcBwY+nUuoQVAoz0wpqkIZ2h/+3DL
 9GBKvpO6VHxpMNAXwppw/DstljkQCnbIKLW4nAbeD+ZO2BfDSu3EcSUOBWWumrWl
 oK3T6beuA4B/iXChklBCLvEBrgLj7wuOJd9CgGMcMbR/aoOtHMGerLBXCiS0rKZQ
 PbtW7r4akGp0YmV29N97
 =4dbq
 -----END PGP SIGNATURE-----
 

Split out Watcher and backends (#632)

Rather than have a bunch of Watcher types guarded by build tags, have
one Watcher that's always available which proxies to a backend
interface.

This will allow adding a polling watcher, fanotify, fsevents, and things
like that. There are no backends to select from yet, and I'm not 100%
sure yet what an API for that would look like, but this sets up the
scaffolding for all of it.

Backends are per-watcher; originally I prototyped something that allows
selecting it per-Add() call, but the bookkeeping on that became rather
complex, and this use case is probably far too rare to spend a lot of
effort on. People can still use different backends by using different
Watchers; they'll just have to do the bookkeeping themselves.