Example #1
0
        public static bool Remove(K key, Action <V> value, string groupId = "")
        {
            var group = BroadcastTunnel <K, V> .GetGroup(groupId);

            if (null == group)
            {
                return(false);
            }

            Manager mgr;

            if (!group.TryGetValue(key, out mgr))
            {
                return(false);
            }

            bool ret = mgr.container.Remove(value);

            if (0 == mgr.container.Count)
            {
                group.Remove(key);
                if (0 == group.Count)
                {
                    BroadcastTunnel <K, V> .RemoveGroup(groupId);
                }
            }

            return(ret);
        }
Example #2
0
        public static void RemoveAll()
        {
            var groupIds = BroadcastTunnel <K, V> .GetGroupIds();

            if (null == groupIds)
            {
                return;
            }

            foreach (var groupId in groupIds)
            {
                BroadcastTunnel <K, V> .RemoveGroup(groupId);
            }
        }
Example #3
0
        public static bool RemoveAllByKey(K key, string groupId = "")
        {
            var group = BroadcastTunnel <K, V> .GetGroup(groupId);

            if (null == group)
            {
                return(false);
            }

            bool ret = group.Remove(key);

            if (0 == group.Count)
            {
                BroadcastTunnel <K, V> .RemoveGroup(groupId);
            }

            return(ret);
        }
Example #4
0
 public static void RemoveAllByGroup(string groupId = "")
 {
     BroadcastTunnel <K, V> .RemoveGroup(groupId);
 }