public virtual RabbitMqMessage ToQueueMessage <T>(Guid streamGuid, string streamNamespace, IEnumerable <T> events, StreamSequenceToken token, Dictionary <string, object> requestContext) { var container = new RabbitMqBatchContainer(streamGuid, streamNamespace, events.Cast <object>().ToList(), requestContext); var serialized = Serialize(container); var queueName = _topologyProvider.GetNameForQueue(_mapper.GetQueueForStream(streamGuid, streamNamespace)); var message = new RabbitMqMessage { Body = serialized, Exchange = string.Empty, RoutingKey = queueName, Persistent = true, ShouldConfirmPublish = true, }; return(message); }
protected override byte[] Serialize(RabbitMqBatchContainer container) { return(_serializationManager.SerializeToByteArray(container)); }
protected abstract byte[] Serialize(RabbitMqBatchContainer container);