public void recovers_delayed_messages_when_started() { using (var queues = new PersistentQueues(new RecordingLogger(), new DelayedMessageCache <MessageId>(), new LightningQueueSettings())) { queues.ClearAll(); queues.Start(new [] { new LightningUri("lq.tcp://localhost:2425/the_queue") }); var envelope = new Envelope(); envelope.Data = new byte[0]; envelope.ExecutionTime = DateTime.UtcNow; var delayedMessage = new MessagePayload { Data = envelope.Data, Headers = envelope.Headers.ToNameValues() }; using (var scope = new TransactionScope()) { queues.ManagerFor(2425, true) .EnqueueDirectlyTo(LightningQueuesTransport.DelayedQueueName, null, delayedMessage); scope.Complete(); } } var cache = new DelayedMessageCache <MessageId>(); using (var queues = new PersistentQueues(new RecordingLogger(), cache, new LightningQueueSettings())) { queues.Start(new [] { new LightningUri("lq.tcp://localhost:2425/the_queue") }); cache.AllMessagesBefore(DateTime.UtcNow.AddSeconds(1)).ShouldNotBeEmpty(); } }
private void SetupTransport(string uri) { graph = new ChannelGraph(); node = graph.ChannelFor <ChannelSettings>(x => x.Upstream); node.Uri = new Uri(uri); node.Incoming = true; var delayedCache = new DelayedMessageCache <MessageId>(); queues = new PersistentQueues(new RecordingLogger(), delayedCache, new LightningQueueSettings()); queues.ClearAll(); transport = new LightningQueuesTransport(queues, new LightningQueueSettings(), delayedCache); transport.OpenChannels(graph); }
private void SetupTransport(string uri, ChannelMode mode) { graph = new ChannelGraph(); node = graph.ChannelFor<ChannelSettings>(x => x.Upstream); node.Mode = mode; node.Uri = new Uri(uri); node.Incoming = true; var delayedCache = new DelayedMessageCache<MessageId>(); queues = new PersistentQueues(new RecordingLogger()); queues.ClearAll(); transport = new LightningQueuesTransport(queues, new LightningQueueSettings()); transport.OpenChannels(graph); }
public void recovers_delayed_messages_when_started() { using (var queues = new PersistentQueues(new RecordingLogger(), new DelayedMessageCache<MessageId>(), new LightningQueueSettings())) { queues.ClearAll(); queues.Start(new []{ new LightningUri("lq.tcp://localhost:2425/the_queue") }); var envelope = new Envelope(); envelope.Data = new byte[0]; envelope.ExecutionTime = DateTime.UtcNow; var delayedMessage = new MessagePayload { Data = envelope.Data, Headers = envelope.Headers.ToNameValues() }; using (var scope = new TransactionScope()) { queues.ManagerFor(2425, true) .EnqueueDirectlyTo(LightningQueuesTransport.DelayedQueueName, null, delayedMessage); scope.Complete(); } } var cache = new DelayedMessageCache<MessageId>(); using (var queues = new PersistentQueues(new RecordingLogger(), cache, new LightningQueueSettings())) { queues.Start(new []{ new LightningUri("lq.tcp://localhost:2425/the_queue") }); cache.AllMessagesBefore(DateTime.UtcNow.AddSeconds(1)).ShouldNotBeEmpty(); } }
public void Setup() { graph = new ChannelGraph(); node = graph.ChannelFor<ChannelSettings>(x => x.Upstream); node.Uri = new Uri("lq.tcp://localhost:2020/upstream"); node.Incoming = true; var delayedCache = new DelayedMessageCache<MessageId>(); queues = new PersistentQueues(new RecordingLogger(), delayedCache); queues.ClearAll(); transport = new LightningQueuesTransport(queues, new LightningQueueSettings(), delayedCache); transport.OpenChannels(graph); }