GreenMessage TriggerFailingHandler(IReceiverNode receiverNode)
		{
			receiverNode.Register(new Binding().Handle<IColourMessage>().With<FailingColourHandler>());

			var message = new GreenMessage();
			var senderNode = ObjectFactory.GetInstance<ISenderNode>();

			senderNode.SendMessage(message);

			Assert.That(FailingColourHandler.AutoResetEvent.WaitOne(LongInterval));
			Thread.Sleep(100);
			return message;
		}
Example #2
0
		/// <summary>
		/// Unregister a node from the shutdown list
		/// </summary>
		public void Remove(IReceiverNode node)
		{
			lock (_lockObject)
			{
				var next = new ConcurrentBag<IReceiverNode>(_registeredNodes.Where(n=> !Equals(n, node)));
				_registeredNodes = next;
			}
		}