Akka.Remote.RemoteSystemDaemon.GetChild C# (CSharp) Method

GetChild() public method

Find the longest matching path which we know about and return that IActorRef (or ask that IActorRef to continue searching if elements are left).
public GetChild ( IEnumerable name ) : IActorRef
name IEnumerable The name.
return IActorRef
        public override IActorRef GetChild(IEnumerable<string> name)
        {
            string[] parts = name.ToArray();

            if (string.IsNullOrEmpty(parts.FirstOrDefault()))
            {
                return this;
            }


            var joined = string.Join("/", parts);

            var child = GetChild(joined);
            if (child != null)
            {
                return child;
            }
            var last = joined.LastIndexOf("/", StringComparison.Ordinal);
            var i = 1;
            while (last != -1 || parts.Length <= i)
            {
                var s = joined.Substring(0, last);
                child = GetChild(s);
                if (child != null)
                {
                    return child.GetChild(parts.TakeRight(i));
                }
                last = s.LastIndexOf("/", StringComparison.Ordinal);
                i++;
            }


            return ActorRefs.Nobody;
        }

Same methods

RemoteSystemDaemon::GetChild ( string name ) : IInternalActorRef