Changed RefreshRouters to set longer timeout

This commit is contained in:
2022-07-03 16:49:00 -04:00
parent e44e760ad7
commit ccd3a7026d

View File

@@ -5,7 +5,7 @@ using System.Net;
using System.Text;
using TorControlLibrary;
using TorControlLibrary.Responses;
using Misc.Geolocation.API;
//using Misc.Geolocation.API;
using System.Configuration;
using System.Text.RegularExpressions;
using Hermes.Filters;
@@ -83,14 +83,6 @@ namespace Hermes
}
static void InitializeRouterListAndSelector(ICircuitManager circuitManager)
{
//Get router responses
TimeSpan defaultTimeout = ControlConnection.Timeout;
ControlConnection.Timeout = TimeSpan.FromMinutes(5);
IEnumerable<Router> routers = Router.ParseRouterStatusResponses(ControlConnection.GetAllRouterStatusInfo());
routers = RouterFilter.FilterRouters(routers);
ControlConnection.Timeout = defaultTimeout;
RouterList = new List<Router>(routers);
String routerSelectorName = ConfigurationManager.AppSettings["RouteSelector"];
Type type = Type.GetType(String.Format("Hermes.Selectors.{0}", routerSelectorName));
if (type == null)
@@ -98,13 +90,17 @@ namespace Hermes
RouteSelector = (IRouteSelector)Activator.CreateInstance(type);
RouteSelector.Initialize(ControlConnection, circuitManager);
RouteSelector.SetEffectiveRouterList(RouterList);
RefreshActiveRouters();
}
static void RefreshActiveRouters()
{
TimeSpan defaultTimeout = ControlConnection.Timeout;
ControlConnection.Timeout = TimeSpan.FromMinutes(10);
IEnumerable<Router> routers = Router.ParseRouterStatusResponses(ControlConnection.GetAllRouterStatusInfo());
routers = RouterFilter.FilterRouters(routers);
ControlConnection.Timeout = defaultTimeout;
RouterList = new List<Router>(routers);
RouteSelector.SetEffectiveRouterList(RouterList);
}
static ICircuitManager GetCircuitManager()