Akka.Actor.ActorCell.SplitNameAndUid C# (CSharp) Метод

SplitNameAndUid() публичный статический Метод

public static SplitNameAndUid ( string name ) : NameAndUid
name string
Результат NameAndUid
        public static NameAndUid SplitNameAndUid(string name)
        {
            var i = name.IndexOf('#');
            return i < 0 
                ? new NameAndUid(name, UndefinedUid)
                : new NameAndUid(name.Substring(0, i), Int32.Parse(name.Substring(i + 1)));
        }

Usage Example

Пример #1
0
        public override ActorRef GetChild(IEnumerable <string> name)
        {
            var current = (ActorRef)this;
            var index   = 0;

            foreach (var element in name)
            {
                switch (element)
                {
                case "..":
                    return(Parent.GetChild(name.Skip(index)));

                case "":
                    break;

                default:
                    var nameAndUid       = ActorCell.SplitNameAndUid(element);
                    var internalActorRef = Lookup.GetChildByName(nameAndUid.Name);
                    if (internalActorRef.IsNobody())
                    {
                        return(Nobody);
                    }
                    return(internalActorRef.GetChild(name.Skip(index)));
                    //TODO: Implement this in order to be able to handle restarting children
                    //  lookup.getChildByName(childName) match {
                    //    case Some(crs: ChildRestartStats) if uid == ActorCell.undefinedUid || uid == crs.uid ⇒
                    //      crs.child.asInstanceOf[InternalActorRef].getChild(name)
                    //    case _ ⇒ Nobody
                    //  }
                }
                index++;
            }
            return(current);
        }
All Usage Examples Of Akka.Actor.ActorCell::SplitNameAndUid