public void UnSubscribe(IPushSubscriber pushSubscriber, string topic) { if (!listenerDic.ContainsKey(topic)) { return; } var pushSubscribers = listenerDic[topic]; pushSubscribers.Remove(pushSubscriber); taskDic[topic].SetListener(pushSubscribers); }
public void Subscribe(IPushSubscriber pushSubscriber, string topic) { if (!listenerDic.ContainsKey(topic)) { listenerDic.Add(topic, new List <IPushSubscriber>()); } var pushSubscribers = listenerDic[topic]; pushSubscribers.Add(pushSubscriber); if (taskDic.ContainsKey(topic)) { taskDic[topic].SetListener(pushSubscribers); } pushSubscriber.Initialize(); }