コード例 #1
0
 public void empty_when_headers_arent_present()
 {
     var message = new OutgoingMessage();
     message.TranslateHeaders();
     message.MaxAttempts.ShouldBeNull();
     message.DeliverBy.ShouldBeNull();
 }
コード例 #2
0
 public void translates_max_attempts()
 {
     var message = new OutgoingMessage();
     message.Headers.Add(LightningQueuesChannel.MaxAttemptsHeader, 1.ToString());
     message.TranslateHeaders();
     message.MaxAttempts.ShouldBe(1);
 }
コード例 #3
0
        public void empty_when_headers_arent_present()
        {
            var message = new OutgoingMessage();

            message.TranslateHeaders();
            message.MaxAttempts.ShouldBeNull();
            message.DeliverBy.ShouldBeNull();
        }
コード例 #4
0
        public void translates_max_attempts()
        {
            var message = new OutgoingMessage();

            message.Headers.Add(LightningQueuesTransport.MaxAttemptsHeader, 1.ToString());
            message.TranslateHeaders();
            message.MaxAttempts.ShouldBe(1);
        }
コード例 #5
0
 public void translates_deliver_by()
 {
     var now = DateTime.Now;
     var message = new OutgoingMessage();
     message.Headers.Add(LightningQueuesChannel.DeliverByHeader, now.ToString("o"));
     message.TranslateHeaders();
     message.DeliverBy.ShouldBe(now);
 }
コード例 #6
0
        public void translates_deliver_by()
        {
            var now     = DateTime.Now;
            var message = new OutgoingMessage();

            message.Headers.Add(LightningQueuesTransport.DeliverByHeader, now.ToString("o"));
            message.TranslateHeaders();
            message.DeliverBy.ShouldBe(now);
        }
コード例 #7
0
        public void Send(byte[] data, IDictionary <string, string> headers, Uri destination, string subQueue)
        {
            var messagePayload = new OutgoingMessage
            {
                Id          = MessageId.GenerateRandom(),
                Data        = data,
                Headers     = headers,
                SentAt      = DateTime.UtcNow,
                Destination = destination,
                Queue       = subQueue,
            };

            //TODO Maybe expose something to modify transport specific payloads?
            messagePayload.TranslateHeaders();

            _queue.Send(messagePayload);
        }
コード例 #8
0
        public void Send(Envelope envelope)
        {
            var uri = new LightningUri(envelope.Destination);

            var message = new OutgoingMessage
            {
                Id = MessageId.GenerateRandom(),
                Data = envelope.Data,
                Headers = envelope.Headers.ToDictionary(),
                SentAt = DateTime.UtcNow,
                Destination = envelope.Destination,
                Queue = uri.QueueName
            };

            message.TranslateHeaders();

            _context.Send(message);
        }
コード例 #9
0
        public void Send(Envelope envelope)
        {
            var uri = new LightningUri(envelope.Destination);

            var message = new OutgoingMessage
            {
                Id          = MessageId.GenerateRandom(),
                Data        = envelope.Data,
                Headers     = envelope.Headers.ToDictionary(),
                SentAt      = DateTime.UtcNow,
                Destination = envelope.Destination,
                Queue       = uri.QueueName
            };

            message.TranslateHeaders();

            _context.Send(message);
        }
コード例 #10
0
        public static void Send(this Queue queueManager, byte[] data, IHeaders headers, Uri address, string queueName)
        {
            var messagePayload = new OutgoingMessage
            {
                Id          = MessageId.GenerateRandom(),
                Data        = data,
                Headers     = headers.ToDictionary(),
                SentAt      = DateTime.UtcNow,
                Destination = address,
                Queue       = queueName,
            };

            //TODO Maybe expose something to modify transport specific payloads?
            messagePayload.TranslateHeaders();


            queueManager.Send(messagePayload);
        }
コード例 #11
0
        public static void Send(this Queue queueManager, byte[] data, IHeaders headers, Uri address, string queueName)
        {
            var messagePayload = new OutgoingMessage
            {
                Id = MessageId.GenerateRandom(),
                Data = data,
                Headers = headers.ToDictionary(),
                SentAt = DateTime.UtcNow,
                Destination = address,
                Queue = queueName,
            };
            //TODO Maybe expose something to modify transport specific payloads?
            messagePayload.TranslateHeaders();


            queueManager.Send(messagePayload);
        }