public void RemoveSubscribeClient(Guid clientId) { //Console.WriteLine(HandleClients.Count); var client = SubcribeClients.FirstOrDefault(x => x.Id == clientId); if (client != null) { SubcribeClients.Remove(client); client = null; } }
//[Obsolete] //public string Pop1(string topicName) //{ // var topic = Topics.FirstOrDefault(x => x.Name == topicName); // var msg = topic?.Messages.FirstOrDefault(); // if (msg is null) { return null; } // topic.Messages.Remove(msg); // return msg; //} public void MsgReceived(string topicName, string msg) { var client = SubcribeClients.FirstOrDefault(x => x.TopicName == topicName); if (client is null) { return; } if (client.Client is null) { SubcribeClients.Remove(client); return; } msg = Pop(topicName); if (!string.IsNullOrEmpty(msg)) { client.SendNewMessage(msg); } }
public void AddSubscribeClient(CocoProcesser client) { SubcribeClients.Add(client); }