public void cancelled_messages_return_to_the_head_of_the_queue() { Assert.That(subject.Get("dst", out var tag1), Is.EqualTo("Hello")); subject.Send("Example.Types.IFile", null, null, null, "SecondMessage"); subject.Cancel(tag1.DeliveryTag); Assert.That(subject.Get("dst", out tag1), Is.EqualTo("Hello")); Assert.That(subject.Get("dst", out var tag2), Is.EqualTo("SecondMessage")); subject.Finish(tag1.DeliveryTag); subject.Finish(tag2.DeliveryTag); }
public void If_I_make_a_link_twice_I_only_get_one_copy_of_each_message() { router.AddSource("src", null); router.AddDestination("dst"); router.Link("src", "dst"); router.Link("src", "dst"); router.Send("src", null, null, null, "Hello"); Assert.That(router.GetAndFinish("dst", out _), Is.EqualTo("Hello")); Assert.That(router.GetAndFinish("dst", out _), Is.Null); }
/// <summary> /// Immediately send a prepared message. /// </summary> /// <param name="message">A message created by PrepareForSend()</param> public void SendPrepared([NotNull] IPreparedMessage message) { if (message == null) { throw new ArgumentNullException(nameof(message)); } messageRouter.Send(message.TypeName, message.ContractType, _applicationGroupName, message.CorrelationId, message.SerialisedMessage); }
public void When_sending_a_message_with_mulitple_inheritance_should_receive_one_copy_at_base_level() { subject.BuildRoutes(typeof(IFile)); router.AddDestination("dst"); router.Link("Example.Types.IMsg", "dst"); router.Send("Example.Types.IFile", null, null, null, "Hello"); Assert.That(router.GetAndFinish("dst", out _), Is.EqualTo("Hello")); Assert.That(router.GetAndFinish("dst", out _), Is.Null); }
public override GenerateScriptsResponse GenerateScripts(Workspace workspace, string projPath, bool force) { GenerateScriptsRequest message = new GenerateScriptsRequest(workspace, projPath, force); var result = _messageRouter.Send(message); return(GenerateScriptsResponse.Read(result)); }
public void SetUp() { var longTermConnection = ConfigurationHelpers.ChannelWithAppConfigSettings(); var shortTermConnection = ConfigurationHelpers.FreshConnectionFromAppConfig(); subject = new RabbitRouter(longTermConnection, shortTermConnection); typeRouter = new TypeRouter(subject); typeRouter.BuildRoutes(typeof(IFile)); subject.AddDestination("dst"); subject.Link("Example.Types.IMsg", "dst"); subject.Send("Example.Types.IFile", "Hello"); }
public void SetUp() { var longTermConnection = ConfigurationHelpers.ChannelWithAppConfigSettings(); var shortTermConnection = ConfigurationHelpers.FreshConnectionFromAppConfig(); subject = new RabbitRouter(longTermConnection, shortTermConnection); typeRouter = new TypeRouter(subject); typeRouter.BuildRoutes(typeof(IFile)); subject.AddDestination("dst"); subject.Link("Example.Types.IMsg", "dst"); subject.Send("Example.Types.IFile", null, null, null, "Hello"); }
private static void DoSend(object o) { SendWrapper wrapper = o as SendWrapper; if (wrapper != null) { try { MessageManager.Send(wrapper.Sender, wrapper.Message); } catch (Exception ex) { System.Diagnostics.Trace.WriteLine(ex.Message); } } }
public MessageSchedule(IPriortyQueue <MessageInfo <TMessage> > queue, IMessageRouter host) { if (!queue.IsSynchronized) { MessageQueue = PriorityQueue <MessageInfo <TMessage> > .Synchronized(queue); } else { MessageQueue = queue; } thread = new Thread(delegate() { IsRuning = true; MessageInfo <TMessage> item = null; while (true) { if (!IsRuning) { return; } while (MessageQueue.Count > 0) { //Thread.Sleep(MillisecondsTimeout); if ((item = MessageQueue.Pop()) != null) { host.Send(item.Sender, item.Message, true); } Thread.Sleep(MillisecondsTimeout); } } }); thread.IsBackground = true; thread.Name = "MessageManager.MessageQueue.Thread"; thread.Start(); }
public void Can_create_a_single_exchange_and_queue_and_send_a_simple_message() { router.AddSource("exchange_A", null); router.AddDestination("queue_A"); router.Link("exchange_A", "queue_A"); router.Send("exchange_A", null, null, null, "Hello, world"); var message = router.GetAndFinish("queue_A", out _); Assert.That(message, Is.EqualTo("Hello, world")); }