/// <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); }
/// <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); }
/// <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); }