Example #1
0
		public CachingModule()
		{
			Log = ServiceLocator.Locator.Resolve<ILogger>();
			_coroutinesManager = ServiceLocator.Locator.Resolve<ICoroutinesManager>();
			var main = ServiceLocator.Locator.Resolve<IMain>();
			var timeout = TimeSpan.FromHours(1);
			_nodeCache = new NodeCache(_coroutinesManager, timeout);
			_nodeCacheCoroutineThread = new NodeCacheCoroutine(_nodeCache);
			_coroutinesManager.StartCoroutine(_nodeCacheCoroutineThread);
			SetParameter(HttpParameters.CacheInstance, _nodeCache);
			main.RegisterCommand("nodecache.groups", new CommandDefinition((Action)ShowGroups));
			main.RegisterCommand("nodecache.items", new CommandDefinition((Action<string>)ShowItems,typeof(string)));
		}
Example #2
0
		public NodeCache(ICoroutinesManager coroutinesManager, TimeSpan timeout)
		{
			Log = ServiceLocator.Locator.Resolve<ILogger>();
			_coroutinesManager = coroutinesManager;
			_cacheMessages = new ConcurrentQueue<object>();
			_groups = new ConcurrentDictionary<string, CacheGroup>(StringComparer.OrdinalIgnoreCase);
			_groups.TryAdd(string.Empty, new CacheGroup(new CacheGroupDefinition
			{
				Id = string.Empty,
				Capped = -1,
				ExpireAfter = timeout,
				RollingExpiration = true
			}));
		}
Example #3
0
		public void Initialize(string[] args, string helpMessage)
		{
			AssemblyDirectory = AssembliesManager.GetAssemblyDirectory();
			_clp = new CommandLineParser(args, helpMessage ?? string.Empty);
			_configPath = _clp.GetOrDefault("config", Path.Combine(AssemblyDirectory, "config.json"));
			_binPath = _clp.GetOrDefault("tempBin", Path.Combine(AssemblyDirectory, "bin"));
			_binFallBackPath = AssemblyDirectory;


			RunnerFactory.Initialize();
			_coroutinesManager = RunnerFactory.Create();
			_parser = new NodeCsParser(_clp, _configPath, _coroutinesManager);
			NodeRoot.Initialize(this);
		}
Example #4
0
		public NodeCsParser(CommandLineParser clp, string configPath, ICoroutinesManager coroutinesManager)
		{
			_clp = clp;
			_configPath = configPath;
		}
		public static void InitializeFakeMain(string asmDir, ICoroutinesManager coroutinesManager)
		{
			var main = new FakeMain(asmDir, coroutinesManager);
			NodeCs.Shared.NodeRoot.Initialize(main);
		}
Example #6
0
		public FakeMain(string assemblyDirectory, ICoroutinesManager coroutinesManager)
		{
			AssemblyDirectory = assemblyDirectory;
			CoroutinesManager = coroutinesManager;
		}
 public ServiceConnectionProvider(ICoroutinesManager coroutinesManager, IServerConnectorProvider serverConnectorProvider, Action <IOutboundServerPeer> onConnected)
 {
     this.coroutinesManager       = coroutinesManager;
     this.serverConnectorProvider = serverConnectorProvider;
     this.onConnected             = onConnected;
 }