void IMessageBus.Publish(object message) { var addresses = _subscriptionStorage.GetSubscriberAddressesForMessage(message.GetType()); foreach (var address in addresses) { var transportMessage = CreateMessage(message); _messageTransport.SendMessage(transportMessage, address); if (_logger.IsDebugEnabled) { _logger.DebugFormat("Sent Message, Id:{0}, Type:{1}, Current Thread Id:{2}", transportMessage.Id, message.GetType().FullName, Thread.CurrentThread.ManagedThreadId); } } }
public void PublishEvent(object evnt) { if (!_started) { return; } var eventTypeName = evnt.GetType().FullName; var addresses = _subscriptionStore.GetSubscriberAddressesForMessage(evnt.GetType()); if (addresses.Count() == 0) { return; } var message = CreateMessage(evnt); foreach (var address in addresses) { _logger.DebugFormat("Sending event message '{0}' to address '{1}'.", eventTypeName, address); _messageTransport.SendMessage(message, address); _logger.DebugFormat("Sent event message '{0}' to address '{1}'.", eventTypeName, address); } }
private Task PublishImpl(IMessage message, CancellationToken token) { string topic = message.Descriptor.FullName; return(_transport.SendMessage(topic, message.ToByteArray(), token)); }