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

            this.EnsuresNotDisposed();
            this.dataChangedHandlers.AddOrUpdate(
                path,
                new DataChangedEventItem(),
                (key, oldValue) =>
            {
                oldValue.DataChanged -= listener.HandleDataChange;
                oldValue.DataDeleted -= listener.HandleDataDelete;
                return(oldValue);
            });
            Logger.Debug("Unsubscribed data changes handler " + listener.GetType().Name + " for path: " + path);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Un-subscribes listeners on ZooKeeper data changes under given path
        /// </summary>
        /// <param name="path">
        /// The parent path.
        /// </param>
        /// <param name="listener">
        /// The listener.
        /// </param>
        public void Unsubscribe(string path, IZooKeeperDataListener listener)
        {
            Guard.Assert <ArgumentException>(() => !string.IsNullOrEmpty(path));
            Guard.Assert <ArgumentNullException>(() => listener != null);

            this.EnsuresNotDisposed();
            this.dataChangedHandlers.AddOrUpdate(
                path,
                new DataChangedEventItem(Logger),
                (key, oldValue) =>
            {
                oldValue.DataChanged -= listener.HandleDataChange;
                oldValue.DataDeleted -= listener.HandleDataDelete;
                return(oldValue);
            });
            Logger.Debug("Unsubscribed data changes handler " + listener.GetType().Name + " for path: " + path);
        }
        /// <summary>
        /// Un-subscribes listeners on ZooKeeper data changes under given path
        /// </summary>
        /// <param name="path">
        /// The parent path.
        /// </param>
        /// <param name="listener">
        /// The listener.
        /// </param>
        public void Unsubscribe(string path, IZooKeeperDataListener listener)
        {
            Guard.NotNullNorEmpty(path, "path");
            Guard.NotNull(listener, "listener");

            this.EnsuresNotDisposed();
            this.dataChangedHandlers.AddOrUpdate(
                path,
                new DataChangedEventItem(),
                (key, oldValue) =>
                {
                    oldValue.DataChanged -= listener.HandleDataChange;
                    oldValue.DataDeleted -= listener.HandleDataDelete;
                    return oldValue;
                });
            Logger.Debug("Unsubscribed data changes handler " + listener.GetType().Name + " for path: " + path);
        }
Exemplo n.º 4
0
        /// <summary>
        /// Un-subscribes listeners on ZooKeeper data changes under given path
        /// </summary>
        /// <param name="path">
        /// The parent path.
        /// </param>
        /// <param name="listener">
        /// The listener.
        /// </param>
        public void Unsubscribe(string path, IZooKeeperDataListener listener)
        {
            Guard.Assert<ArgumentException>(() => !string.IsNullOrEmpty(path));
            Guard.Assert<ArgumentNullException>(() => listener != null);

            this.EnsuresNotDisposed();
            this.dataChangedHandlers.AddOrUpdate(
                path,
                new DataChangedEventItem(Logger),
                (key, oldValue) =>
                {
                    oldValue.DataChanged -= listener.HandleDataChange;
                    oldValue.DataDeleted -= listener.HandleDataDelete;
                    return oldValue;
                });
            Logger.Debug("Unsubscribed data changes handler " + listener.GetType().Name + " for path: " + path);
        }