Changed RefreshRouters to set longer timeout
This commit is contained in:
@@ -5,7 +5,7 @@ using System.Net;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using TorControlLibrary;
|
using TorControlLibrary;
|
||||||
using TorControlLibrary.Responses;
|
using TorControlLibrary.Responses;
|
||||||
using Misc.Geolocation.API;
|
//using Misc.Geolocation.API;
|
||||||
using System.Configuration;
|
using System.Configuration;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using Hermes.Filters;
|
using Hermes.Filters;
|
||||||
@@ -83,14 +83,6 @@ namespace Hermes
|
|||||||
}
|
}
|
||||||
static void InitializeRouterListAndSelector(ICircuitManager circuitManager)
|
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"];
|
String routerSelectorName = ConfigurationManager.AppSettings["RouteSelector"];
|
||||||
Type type = Type.GetType(String.Format("Hermes.Selectors.{0}", routerSelectorName));
|
Type type = Type.GetType(String.Format("Hermes.Selectors.{0}", routerSelectorName));
|
||||||
if (type == null)
|
if (type == null)
|
||||||
@@ -98,13 +90,17 @@ namespace Hermes
|
|||||||
|
|
||||||
RouteSelector = (IRouteSelector)Activator.CreateInstance(type);
|
RouteSelector = (IRouteSelector)Activator.CreateInstance(type);
|
||||||
RouteSelector.Initialize(ControlConnection, circuitManager);
|
RouteSelector.Initialize(ControlConnection, circuitManager);
|
||||||
RouteSelector.SetEffectiveRouterList(RouterList);
|
RefreshActiveRouters();
|
||||||
}
|
}
|
||||||
static void RefreshActiveRouters()
|
static void RefreshActiveRouters()
|
||||||
{
|
{
|
||||||
|
TimeSpan defaultTimeout = ControlConnection.Timeout;
|
||||||
|
ControlConnection.Timeout = TimeSpan.FromMinutes(10);
|
||||||
IEnumerable<Router> routers = Router.ParseRouterStatusResponses(ControlConnection.GetAllRouterStatusInfo());
|
IEnumerable<Router> routers = Router.ParseRouterStatusResponses(ControlConnection.GetAllRouterStatusInfo());
|
||||||
routers = RouterFilter.FilterRouters(routers);
|
routers = RouterFilter.FilterRouters(routers);
|
||||||
|
ControlConnection.Timeout = defaultTimeout;
|
||||||
RouterList = new List<Router>(routers);
|
RouterList = new List<Router>(routers);
|
||||||
|
|
||||||
RouteSelector.SetEffectiveRouterList(RouterList);
|
RouteSelector.SetEffectiveRouterList(RouterList);
|
||||||
}
|
}
|
||||||
static ICircuitManager GetCircuitManager()
|
static ICircuitManager GetCircuitManager()
|
||||||
|
|||||||
Reference in New Issue
Block a user