public void PostMessage(IKey destination, IPacketProvider message) { if (destination == null) { throw new ArgumentNullException(nameof(destination)); } if (message == null) { throw new ArgumentNullException(nameof(message)); } byte[] messageBytes = message.GetBytes(); _log.Debug($"Enqueuing to single destination {destination.Value.ToHexString()} message {messageBytes.ToHexString()}"); _messagesQueue.Add(new KeyValuePair <IKey, byte[]>(destination, messageBytes)); }
public void PostMessage(IEnumerable <IKey> destinations, IPacketProvider message) { if (destinations == null) { throw new ArgumentNullException(nameof(destinations)); } if (message == null) { throw new ArgumentNullException(nameof(message)); } foreach (IKey destination in destinations) { byte[] messageBytes = message.GetBytes(); _log.Debug($"Enqueuing to one of multiple destinations {destination.Value.ToHexString()} message {messageBytes.ToHexString()}"); _messagesQueue.Add(new KeyValuePair <IKey, byte[]>(destination, messageBytes)); } }