Пример #1
0
        /// <summary>取消订阅</summary>
        /// <param name="user">订阅者</param>
        /// <param name="userState">订阅者</param>
        /// <returns></returns>
        public Boolean Remove(String user, Object userState)
        {
            //if (!Consumers.Remove(user)) return false;
            if (!Consumers.TryGetValue(user, out var cs))
            {
                return(false);
            }

            var rs = cs.Remove(userState);

            // 如果没有订阅者,则删除消费者
            if (rs && cs.Subscribers.IsEmpty)
            {
                Consumers.Remove(user);
            }

            return(rs);
        }