示例#1
0
        /// <summary>
        /// TBD
        /// </summary>
        /// <param name="address">TBD</param>
        /// <returns>TBD</returns>
        public string ToSerializationFormatWithAddress(Address address)
        {
            if (IgnoreActorRef.IsIgnoreRefPath(this))
            {
                // we never change address for IgnoreActorRef
                return(ToString());
            }
            var withAddress = ToStringWithAddress(address);
            var result      = AppendUidFragment(withAddress);

            return(result);
        }
示例#2
0
        /// <summary>
        /// Generate String representation, replacing the Address in the RootActorPath
        /// with the given one unless this path’s address includes host and port
        /// information.
        /// </summary>
        /// <param name="address"> The address. </param>
        /// <returns> System.String. </returns>
        public string ToStringWithAddress(Address address)
        {
            if (IgnoreActorRef.IsIgnoreRefPath(this))
            {
                // we never change address for IgnoreActorRef
                return(ToString());
            }
            if (Address.Host != null && Address.Port.HasValue)
            {
                return($"{Address}{Join()}");
            }

            return($"{address}{Join()}");
        }
示例#3
0
        /// <summary>
        /// TBD
        /// </summary>
        /// <param name="systemName">TBD</param>
        /// <param name="settings">TBD</param>
        /// <param name="eventStream">TBD</param>
        /// <param name="deployer">TBD</param>
        /// <param name="deadLettersFactory">TBD</param>
        public LocalActorRefProvider(string systemName, Settings settings, EventStream eventStream, Deployer deployer, Func <ActorPath, IInternalActorRef> deadLettersFactory)
        {
            _settings    = settings;
            _eventStream = eventStream;
            _deployer    = deployer ?? new Deployer(settings);
            _rootPath    = new RootActorPath(new Address("akka", systemName));
            _log         = Logging.GetLogger(eventStream, "LocalActorRefProvider(" + _rootPath.Address + ")");
            if (deadLettersFactory == null)
            {
                deadLettersFactory = p => new DeadLetterActorRef(this, p, _eventStream);
            }
            _deadLetters = deadLettersFactory(_rootPath / "deadLetters");
            IgnoreRef    = new IgnoreActorRef(this);

            _tempNumber = new AtomicCounterLong(1);
            _tempNode   = _rootPath / "temp";

            _systemGuardianStrategy           = SupervisorStrategy.DefaultStrategy;
            _userGuardianStrategyConfigurator = SupervisorStrategyConfigurator.CreateConfigurator(Settings.SupervisorStrategyClass);
        }