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);