Akka.Remote.Tests.MultiNode.AttemptSysMsgRedeliverySpec.RedeliverSystemMessageAfterInactivity C# (CSharp) Метод

RedeliverSystemMessageAfterInactivity() публичный Метод

public RedeliverSystemMessageAfterInactivity ( ) : void
Результат void
        public void RedeliverSystemMessageAfterInactivity()
        {
            var echo = ActorOf<AttemptSysMsgRedeliveryMultiNetSpec.Echo>("echo");

            EnterBarrier("echo-started");

            Sys.ActorSelection(Node(_config.First)/"user"/"echo").Tell(new Identify(null));
            var firstRef = ExpectMsg<ActorIdentity>().Subject;

            Sys.ActorSelection(Node(_config.Second)/"user"/"echo").Tell(new Identify(null));
            var secondRef = ExpectMsg<ActorIdentity>().Subject;

            EnterBarrier("refs-retrieved");

            RunOn(() =>
                TestConductor.Blackhole(_config.First, _config.Second, ThrottleTransportAdapter.Direction.Both)
                             .Wait(),
                _config.First);

            EnterBarrier("blackhole");

            RunOn(() => Watch(secondRef),
                _config.First, _config.Third);

            RunOn(() => Watch(firstRef),
                _config.Second);

            EnterBarrier("watch-established");

            RunOn(() =>
                TestConductor.PassThrough(_config.First, _config.Second, ThrottleTransportAdapter.Direction.Both)
                             .Wait(),
                _config.First);

            EnterBarrier("pass-through");

            Sys.ActorSelection("/user/echo").Tell(PoisonPill.Instance);

            RunOn(() => ExpectTerminated(secondRef, TimeSpan.FromSeconds(10)),
                _config.First, _config.Third);

            RunOn(() => ExpectTerminated(firstRef, TimeSpan.FromSeconds(10)),
                _config.Second);

            EnterBarrier("done");
        }
    }