///<summary>
 ///Initialize: make a dummy cell which holds just a mailbox, then tell our
 ///supervisor that we exist so that he can create the real Cell in
 ///handleSupervise().
 ///Call twice on your own peril!
 ///This is protected so that others can have different initialization.
 /// </summary>
 public void Initialize(bool async)
 {
     var underlying = Underlying;
     if(underlying == null)
     {
         var newCell = new UnstartedCell(_system, this, _props, _supervisor);
         SwapUnderlying(newCell);
         SwapLookup(newCell);
         _supervisor.Tell(new Supervise(this, async));
         if(!async)
             Point();
     }
     else
     {
         throw new IllegalStateException("initialize called more than once!");
     }
 }
        /// <summary>
        /// Initialize: make a dummy cell which holds just a mailbox, then tell our
        /// supervisor that we exist so that he can create the real Cell in
        /// handleSupervise().
        /// </summary>
        /// <exception cref="IllegalStateException">This exception is thrown if this function is called more than once.</exception>
        public RepointableActorRef Initialize(bool async)
        {
            var underlying = Underlying;
            if (underlying == null)
            {
                var newCell = new UnstartedCell(System, this, Props, Supervisor);
                SwapUnderlying(newCell);
                SwapLookup(newCell);
                Supervisor.SendSystemMessage(new Supervise(this, async));
                if (!async)
                    Point();

                return this;
            }
            else
            {
                throw new IllegalStateException("initialize called more than once!");
            }
        }
        ///<summary>
        ///Initialize: make a dummy cell which holds just a mailbox, then tell our
        ///supervisor that we exist so that he can create the real Cell in
        ///handleSupervise().
        ///Call twice on your own peril!
        ///This is protected so that others can have different initialization.
        /// </summary>
        public void Initialize(bool async)
        {
            var underlying = Underlying;

            if (underlying == null)
            {
                var newCell = new UnstartedCell(_system, this, _props, _supervisor);
                SwapUnderlying(newCell);
                SwapLookup(newCell);
                _supervisor.Tell(new Supervise(this, async));
                if (!async)
                {
                    Point();
                }
            }
            else
            {
                throw new IllegalStateException("initialize called more than once!");
            }
        }
Example #4
0
        /// <summary>
        /// Initialize: make a dummy cell which holds just a mailbox, then tell our
        /// supervisor that we exist so that he can create the real Cell in
        /// handleSupervise().
        /// </summary>
        /// <param name="async">TBD</param>
        /// <exception cref="IllegalStateException">This exception is thrown if this function is called more than once.</exception>
        /// <returns>TBD</returns>
        public RepointableActorRef Initialize(bool async)
        {
            var underlying = Underlying;

            if (underlying == null)
            {
                var newCell = new UnstartedCell(System, this, Props, Supervisor);
                SwapUnderlying(newCell);
                SwapLookup(newCell);
                Supervisor.SendSystemMessage(new Supervise(this, async));
                if (!async)
                {
                    Point();
                }

                return(this);
            }
            else
            {
                throw new IllegalStateException("initialize called more than once!");
            }
        }