Class WatcherCleaner

  • All Implemented Interfaces:
    Runnable

    public class WatcherCleaner
    extends Thread
    Thread used to lazily clean up the closed watcher, it will trigger the clean up when the dead watchers get certain number or some number of seconds has elapsed since last clean up. Cost of running it: - need to go through all the paths even if the watcher may only watching a single path - block in the path BitHashSet when we try to check the dead watcher which won't block other stuff
    • Constructor Detail

      • WatcherCleaner

        public WatcherCleaner​(IDeadWatcherListener listener,
                              int watcherCleanThreshold,
                              int watcherCleanIntervalInSeconds,
                              int watcherCleanThreadsNum,
                              int maxInProcessingDeadWatchers)
    • Method Detail

      • addDeadWatcher

        public void addDeadWatcher​(int watcherBit)
      • run

        public void run()
        Specified by:
        run in interface Runnable
        Overrides:
        run in class Thread
      • shutdown

        public void shutdown()