public Service(ulong capacity, uint port) { _memCache = new MemCache(capacity, Scheduler.Default); IScheduler scheduler = Scheduler.Default; var requestHandlers = GetRequestHandlers(scheduler, _memCache); _requestDispatcher = new RequestDispatcher(scheduler, _memCache, requestHandlers); _server = new RequestResponseTcpServer(IPAddress.Any, (int)port, _requestDispatcher); _restListener = new CacheRestServer(new Dictionary <string, IHttpHandler> { { "/cache/(.+)", new CacheRestHttpHandler(_memCache) }, { "/static/(.+)", new StaticFileHttpHandler() } }, new[] { "http://localhost:8222/cache/", "http://localhost:8222/static/" }); _websocketServer = new WebSocketServer(new [] { "http://localhost:8222/sub/" }, o => new CacheEntrySubscriptionHandler(_memCache, o)); _fileSystem = new FileSystemWrapper(); const string cachelogBin = "cachelog.bin"; _restorer = new CacheRestorer(_memCache, _fileSystem, cachelogBin); }
public RequestResponseTcpServer(IPAddress address, int port, RequestDispatcher dispatcher) { _dispatcher = dispatcher; _taskFactory = new TaskFactory(_cancellationTokenSource.Token); Address = address; Port = port; _listener = new TcpListener(address, port); }