Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
 public TestProducer(TestLatch lp, TestLatch la)
 {
     latchActor = la;
     lp.Reset();
     lp.CountDown();
 }