/// <summary> /// Watcheds the actor terminated. /// </summary> /// <param name="m">The m.</param> private void WatchedActorTerminated(DeathWatchNotification m) { // AKKA: // if (watchingContains(actor)) { // maintainAddressTerminatedSubscription(actor) { // watching = removeFromSet(actor, watching) // } // if (!isTerminating) { // self.tell(Terminated(actor)(existenceConfirmed, addressTerminated), actor) // terminatedQueuedFor(actor) // } //} //if (childrenRefs.getByRef(actor).isDefined) handleChildTerminated(actor) if (!isTerminating) { //TODO: what params should be used for the bools? Self.Tell(new Terminated(m.Actor, true, false), m.Actor); TerminatedQueueFor(m.Actor); } if (children.ContainsKey(m.Actor.Path.Name)) { HandleChildTerminated(m.Actor); } }
public void Can_serialize_DeadwatchNotification() { var actorRef = ActorOf <BlackHoleActor>(); var deadwatchNotification = new DeathWatchNotification(actorRef, true, false); DeathWatchNotification deserialized = AssertAndReturn(deadwatchNotification); deserialized.Actor.Should().Be(actorRef); deserialized.AddressTerminated.Should().Be(deadwatchNotification.AddressTerminated); deserialized.ExistenceConfirmed.Should().Be(deadwatchNotification.ExistenceConfirmed); }
// // DeathWatchNotification // private byte[] DeathWatchNotificationToProto(DeathWatchNotification deathWatchNotification) { var message = new Proto.Msg.DeathWatchNotificationData(); message.Actor = new Proto.Msg.ActorRefData(); message.Actor.Path = Akka.Serialization.Serialization.SerializedActorPath(deathWatchNotification.Actor); message.AddressTerminated = deathWatchNotification.AddressTerminated; message.ExistenceConfirmed = deathWatchNotification.ExistenceConfirmed; return(message.ToByteArray()); }