public PoolRouter(Func <string, PID> func, int poolSize = 5, RouterEnum routerconfig = RouterEnum.RoundRobin) { _poolSize = poolSize; if (routerconfig == RouterEnum.RoundRobin) { _router = new RoundRobinRouter(); } else { _router = new BroadcastRouter(); } var routees = Enumerable.Range(0, _poolSize).Select(x => func(string.Format("Pool-{0}", ProcessRegistry.Instance.NextId()))); _router.SetInstance(new HashSet <PID>(routees)); }
public void ExecuteRouter(RouterEnum routerEnum) { Console.WriteLine("Executing walking strategy algorithm..."); }
public void ExecuteRouter(RouterEnum routerEnum) { Console.WriteLine("Executing public transport strategy algorithm..."); }
public void ExecuteStrategy(RouterEnum routerEnum) => _routerStrategy.ExecuteRouter(routerEnum);