public void AddActor(IActor actor) { var registrations = actorHandlerMap.Add(actor); internalRegistrationService.RegisterInternalRoutes(registrations.Select(r => new InternalRouteRegistration { DestinationSocket = socket, KeepRegistrationLocal = r.KeepRegistrationLocal, ReceiverIdentifier = actor.Identifier, MessageContract = r.Identifier } )); }
public void AssignActor(IActor actor) { var registrations = actorHandlerMap.Add(actor); if (registrations.Any()) { var actorRegistration = new ActorRegistration { ActorIdentifier = actor.Identifier, MessageHandlers = registrations }; actorRegistrationsQueue.Enqueue(actorRegistration, cancellationTokenSource?.Token ?? CancellationToken.None); } else { logger.Warn($"Actor {actor.GetType().FullName}:{actor.Identifier} seems to not handle any message!"); } }