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; }
/// <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; } }