/// <summary>
        /// Un-subscribes listeners on ZooKeeper child changes under given path
        /// </summary>
        /// <param name="path">
        /// The parent path.
        /// </param>
        /// <param name="listener">
        /// The listener.
        /// </param>
        public void Unsubscribe(string path, IZooKeeperChildListener listener)
        {
            Guard.NotNullNorEmpty(path, "path");
            Guard.NotNull(listener, "listener");

            this.EnsuresNotDisposed();
            this.childChangedHandlers.AddOrUpdate(
                path,
                new ChildChangedEventItem(),
                (key, oldValue) => { oldValue.ChildChanged -= listener.HandleChildChange; return(oldValue); });
            Logger.Debug("Unsubscribed child changes handler " + listener.GetType().Name + " for path: " + path);
        }
Example #2
0
        /// <summary>
        /// Un-subscribes listeners on ZooKeeper child changes under given path
        /// </summary>
        /// <param name="path">
        /// The parent path.
        /// </param>
        /// <param name="listener">
        /// The listener.
        /// </param>
        public void Unsubscribe(string path, IZooKeeperChildListener listener)
        {
            Guard.Assert <ArgumentException>(() => !string.IsNullOrEmpty(path));
            Guard.Assert <ArgumentNullException>(() => listener != null);

            this.EnsuresNotDisposed();
            this.childChangedHandlers.AddOrUpdate(
                path,
                new ChildChangedEventItem(Logger),
                (key, oldValue) => { oldValue.ChildChanged -= listener.HandleChildChange; return(oldValue); });
            Logger.Debug("Unsubscribed child changes handler " + listener.GetType().Name + " for path: " + path);
        }
        /// <summary>
        /// Un-subscribes listeners on ZooKeeper child changes under given path
        /// </summary>
        /// <param name="path">
        /// The parent path.
        /// </param>
        /// <param name="listener">
        /// The listener.
        /// </param>
        public void Unsubscribe(string path, IZooKeeperChildListener listener)
        {
            Guard.NotNullNorEmpty(path, "path");
            Guard.NotNull(listener, "listener");

            this.EnsuresNotDisposed();
            this.childChangedHandlers.AddOrUpdate(
                path,
                new ChildChangedEventItem(),
                (key, oldValue) => { oldValue.ChildChanged -= listener.HandleChildChange; return oldValue; });
            Logger.Debug("Unsubscribed child changes handler " + listener.GetType().Name + " for path: " + path);
        }
        /// <summary>
        /// Un-subscribes listeners on ZooKeeper child changes under given path
        /// </summary>
        /// <param name="path">
        /// The parent path.
        /// </param>
        /// <param name="listener">
        /// The listener.
        /// </param>
        public void Unsubscribe(string path, IZooKeeperChildListener listener)
        {
            Guard.Assert<ArgumentException>(() => !string.IsNullOrEmpty(path));
            Guard.Assert<ArgumentNullException>(() => listener != null);

            this.EnsuresNotDisposed();
            this.childChangedHandlers.AddOrUpdate(
                path,
                new ChildChangedEventItem(Logger),
                (key, oldValue) => { oldValue.ChildChanged -= listener.HandleChildChange; return oldValue; });
            Logger.Debug("Unsubscribed child changes handler " + listener.GetType().Name + " for path: " + path);
        }