Interface IWatchManager

    • Method Detail

      • addWatch

        boolean addWatch​(String path,
                         Watcher watcher)
        Add watch to specific path.
        Parameters:
        path - znode path
        watcher - watcher object reference
        Returns:
        true if the watcher added is not already present
      • addWatch

        default boolean addWatch​(String path,
                                 Watcher watcher,
                                 WatcherMode watcherMode)
        Add watch to specific path.
        Parameters:
        path - znode path
        watcher - watcher object reference
        watcherMode - the watcher mode to use
        Returns:
        true if the watcher added is not already present
      • containsWatcher

        boolean containsWatcher​(String path,
                                Watcher watcher)
        Checks the specified watcher exists for the given path.
        Parameters:
        path - znode path
        watcher - watcher object reference
        Returns:
        true if the watcher exists, false otherwise
      • containsWatcher

        default boolean containsWatcher​(String path,
                                        Watcher watcher,
                                        @Nullable
                                        WatcherMode watcherMode)
        Checks the specified watcher exists for the given path and mode.
        Parameters:
        path - znode path
        watcher - watcher object reference
        watcherMode - watcher mode, null for any mode
        Returns:
        true if the watcher exists, false otherwise
      • removeWatcher

        boolean removeWatcher​(String path,
                              Watcher watcher)
        Removes the specified watcher for the given path.
        Parameters:
        path - znode path
        watcher - watcher object reference
        Returns:
        true if the watcher successfully removed, false otherwise
      • removeWatcher

        default boolean removeWatcher​(String path,
                                      Watcher watcher,
                                      WatcherMode watcherMode)
        Removes the specified watcher for the given path and mode.
        Parameters:
        path - znode path
        watcher - watcher object reference
        watcherMode - watcher mode, null to remove all modes
        Returns:
        true if the watcher successfully removed, false otherwise
      • removeWatcher

        void removeWatcher​(Watcher watcher)
        The entry to remove the watcher when the cnxn is closed.
        Parameters:
        watcher - watcher object reference
      • triggerWatch

        WatcherOrBitSet triggerWatch​(String path,
                                     Watcher.Event.EventType type,
                                     long zxid)
        Distribute the watch event for the given path.
        Parameters:
        path - znode path
        type - the watch event type
        zxid - the zxid for the corresponding change that triggered this event
        Returns:
        the watchers have been notified
      • triggerWatch

        WatcherOrBitSet triggerWatch​(String path,
                                     Watcher.Event.EventType type,
                                     long zxid,
                                     WatcherOrBitSet suppress)
        Distribute the watch event for the given path, but ignore those suppressed ones.
        Parameters:
        path - znode path
        type - the watch event type
        zxid - the zxid for the corresponding change that triggered this event
        suppress - the suppressed watcher set
        Returns:
        the watchers have been notified
      • size

        int size()
        Get the size of watchers.
        Returns:
        the watchers number managed in this class.
      • shutdown

        void shutdown()
        Clean up the watch manager.
      • dumpWatches

        void dumpWatches​(PrintWriter pwriter,
                         boolean byPath)
        String representation of watches. Warning, may be large!
        Parameters:
        pwriter - the writer to dump the watches
        byPath - iff true output watches by paths, otw output watches by connection