Exemple #1
0
 /// <summary>
 /// This one is used for internal testing only
 /// </summary>
 internal Actor(LocalActorRef actorRef, ActorSystem system, LocalActorRefFactory localActorRefFactory)
 {
     if (actorRef == null)
     {
         if (!LocalActorRefStack.TryGetActorRefFromStack(out actorRef))
         {
             throw new InvalidOperationException(StringFormat.SafeFormat("Cannot create a new instance of type {0} directly using new(). An actor can only be created via the CreateActor methods.", GetType().FullName));
         }
         LocalActorRefStack.MarkActorRefConsumedInStack();
     }
     _system = system;
     _self   = actorRef;
     PrepareForConfiguringMessageHandler();
     _localActorRefFactory = localActorRefFactory;
 }
Exemple #2
0
        protected Actor()
        {
            LocalActorRef actorRef;

            if (!LocalActorRefStack.TryGetActorRefFromStack(out actorRef))
            {
                throw new InvalidOperationException(StringFormat.SafeFormat("Cannot create a new instance of type {0} directly using new(). An actor can only be created via the CreateActor methods.", GetType().FullName));
            }
            LocalActorRefStack.MarkActorRefConsumedInStack();
            _system = actorRef.System;
            _self   = actorRef;
            PrepareForConfiguringMessageHandler();
            _localActorRefFactory = _system.LocalActorRefFactory;
            _selfScheduler        = new SelfScheduler(_system.Scheduler, _self);
        }