Example #1
0
 public void UnSubscribeChildChange(string path, IZkChildListener listener)
 {
     lock (this)
     {
         _childListener.TryGetValue(path, out var childListeners);
         childListeners?.Remove(listener);
         _childListener[path] = childListeners;
     }
 }
 public void UnsubscribeChildChanges(string path, IZkChildListener childListener)
 {
     lock (_childListener)
     {
         ConcurrentHashSet <IZkChildListener> listeners = _childListener.Get(path);
         if (listeners != null)
         {
             listeners.TryRemove(childListener);
         }
     }
 }
Example #3
0
        public List <string> SubscribeChildChange(string path, IZkChildListener listener)
        {
            lock (this)
            {
                _childListener.TryGetValue(path, out var childListeners);
                if (childListeners == null)
                {
                    childListeners = new HashSet <IZkChildListener>();
                }
                childListeners.Add(listener);
                _childListener[path] = childListeners;
            }

            return(Task.Run(async() => await WatchForChildren(path)).Result);
        }
        public List <string> SubscribeChildChanges(string path, IZkChildListener listener)
        {
            lock (_childListener)
            {
                ConcurrentHashSet <IZkChildListener> listeners = _childListener.Get(path);

                if (listeners == null)
                {
                    listeners            = new ConcurrentHashSet <IZkChildListener>();
                    _childListener[path] = listeners;
                }

                listeners.Add(listener);
            }

            return(WatchForChilds(path));
        }