public static void Subscribe(string channel, RemoteMethodProvider methodProvider) { if (!_subscribersInfo.ContainsKey(channel)) { _subscribersInfo.TryAdd(channel, new List <RemoteMethodProvider>()); } if (!_subscribersInfo[channel].Contains(methodProvider)) { _subscribersInfo[channel].Add(methodProvider); } }
public static void Unsubscribe(string channel, RemoteMethodProvider methodProvider) { methodProvider.Client.ReadyForRMI = false; if (_subscribersInfo.ContainsKey(channel) && _subscribersInfo[channel].Contains(methodProvider)) { _subscribersInfo[channel].Remove(methodProvider); } #if DEBUG _log.Debug($"Client {methodProvider.Client.Socket.RemoteEndPoint.ToString()} unsubscribed from RemoteEvent: {channel} channel."); #endif }