public Task DispatchAsync(IHubMessage hubMessage) { if (hubMessage == null) { throw new ArgumentNullException(nameof(hubMessage)); } return(_kafkaDispatcher.DispatchAsync(_jsonSerializer.Serialize(hubMessage), _topic)); }
public Task DispatchAsync(IHubMessage hubMessage) { if (hubMessage == null) { throw new ArgumentNullException(nameof(hubMessage)); } return(_kafkaDispatcher.DispatchAsync(_messageEnvelopeFactory.CreateFrom(hubMessage), _topic)); }
public MessageEnvelope CreateFrom(IHubMessage hubMessage) { if (hubMessage is null) { throw new ArgumentNullException(nameof(hubMessage)); } var requestType = ExtractMessageTypeNameFrom(hubMessage); var serializedActionRequest = _jsonSerializer.Serialize <object>(hubMessage); return(new MessageEnvelope(serializedActionRequest, requestType)); }
private static string ExtractMessageTypeNameFrom(IHubMessage hubMessage) { var messageTypeName = Attribute.GetCustomAttributes(hubMessage.GetType()) .OfType <HubMessageAttribute>() .Single() .Name; if (string.IsNullOrEmpty(messageTypeName)) { throw new MessageQueueException($"Could not read request type name from attribute {nameof(HubMessageAttribute)}."); } return(messageTypeName); }
public Task DispatchAsync(IHubMessage hubMessage) { return(Task.CompletedTask); }