public void BTActor_Long_Timeout_Short_Delay() { TestLatch latch = new TestLatch(); AtomicCounter counter = new AtomicCounter(0); var bt = Sys.ActorOf(Props.Create(() => new LongTimeoutShortTask(latch, counter))); bt.Tell("RUN", TestActor); latch.Ready(); latch.Reset(); bt.Tell("RUN", TestActor); latch.Ready(); Assert.Equal(2, counter.Current); ExpectNoMsg(200); }
public void An_ActorRef_should_suppport_reply_via_Sender() { var latch = new TestLatch(Sys, 4); var serverRef = Sys.ActorOf(Props.Create <ReplyActor>()); var clientRef = Sys.ActorOf(Props.Create(() => new SenderActor(serverRef, latch))); clientRef.Tell("complex"); clientRef.Tell("simple"); clientRef.Tell("simple"); clientRef.Tell("simple"); latch.Ready(TimeSpan.FromSeconds(3)); latch.Reset(); clientRef.Tell("complex2"); clientRef.Tell("simple"); clientRef.Tell("simple"); clientRef.Tell("simple"); latch.Ready(TimeSpan.FromSeconds(3)); Sys.Stop(clientRef); Sys.Stop(serverRef); }
public TestProducer(TestLatch lp, TestLatch la) { latchActor = la; lp.Reset(); lp.CountDown(); }