//Todo: Enable to bulk messages to subscribers public void PublishCommittedMessages(IEnumerable <PublishPacketReceivedEventArgs> messages) { _topic.Subscribers = _db.GetSubScribers(_topic); foreach (var messageReceivedEventArgse in messages) { foreach (var sub in _topic.Subscribers.Where(x => !x.ReceiveTentativeMessages && x.AttachedBroker == _jsonConfigurator.GetSettings().PrimaryNumber)) { if (messageReceivedEventArgse.Packet.GlobalSequenceNumber > sub.GlobalSequenceNumberLastReceived) { _udpComm.SendPackage(messageReceivedEventArgse.Packet, sub.Ip, sub.Port); sub.UpdateGobalSequenceNumber(messageReceivedEventArgse.Packet.GlobalSequenceNumber.Value); } } } _db.UpdateSubscribers(_topic); SubscribersHasBeenUpdated?.Invoke(this, _topic.Subscribers.Where(x => x.AttachedBroker == _jsonConfigurator.GetSettings().PrimaryNumber).ToList()); }