Example #1
0
 OnionRouter.StatusFlags string_to_status_flags(IEnumerable <string> splitted)
 {
     OnionRouter.StatusFlags result = OnionRouter.StatusFlags.none;
     foreach (string flag_string in splitted)
     {
         int index = router_status_flags.IndexOf(flag_string);
         if (-1 != index)
         {
             OnionRouter.StatusFlags flag = (OnionRouter.StatusFlags)(1 << index);
             result |= flag;
         }
     }
     return(result);
 }
Example #2
0
        private OnionRouter.StatusFlags ParseRouterFlags(ICollection <string> flagNames)
        {
            OnionRouter.StatusFlags result = 0;
            foreach (string candidate in flagNames)
            {
                switch (candidate)
                {
                case "Authority":
                    result |= OnionRouter.StatusFlags.Authority;
                    break;

                case "BadExit":
                    result |= OnionRouter.StatusFlags.BadExit;
                    break;

                case "Exit":
                    result |= OnionRouter.StatusFlags.Exit;
                    break;

                case "Fast":
                    result |= OnionRouter.StatusFlags.Fast;
                    break;

                case "Guard":
                    result |= OnionRouter.StatusFlags.Guard;
                    break;

                case "HSDir":
                    result |= OnionRouter.StatusFlags.HSDir;
                    break;

                case "Named":
                    result |= OnionRouter.StatusFlags.Named;
                    break;

                case "NoEdConsensus":
                    result |= OnionRouter.StatusFlags.NoEd25519Consensus;
                    break;

                case "Stable":
                    result |= OnionRouter.StatusFlags.Stable;
                    break;

                case "Running":
                    result |= OnionRouter.StatusFlags.Running;
                    break;

                case "Unnamed":
                    result |= OnionRouter.StatusFlags.Unnamed;
                    break;

                case "Valid":
                    result |= OnionRouter.StatusFlags.Valid;
                    break;

                case "V2Dir":
                    result |= OnionRouter.StatusFlags.V2Dir;
                    break;

                default:
                    break;
                }
            }
            return(result);
        }