Esempio n. 1
0
        public KestrelThread(KestrelEngine engine)
        {
            _engine      = engine;
            _appLifetime = engine.AppLifetime;
            _log         = engine.Log;
            _threadPool  = engine.ThreadPool;
            _loop        = new UvLoopHandle(_log);
            _post        = new UvAsyncHandle(_log);
            _thread      = new Thread(ThreadStart);
            _thread.Name = "KestrelThread - libuv";
#if !DEBUG
            // Mark the thread as being as unimportant to keeping the process alive.
            // Don't do this for debug builds, so we know if the thread isn't terminating.
            _thread.IsBackground = true;
#endif
            QueueCloseHandle      = PostCloseHandle;
            QueueCloseAsyncHandle = EnqueueCloseHandle;
        }
Esempio n. 2
0
        public KestrelThread(KestrelEngine engine)
        {
            _engine          = engine;
            _appLifetime     = engine.AppLifetime;
            _log             = engine.Log;
            _threadPool      = engine.ThreadPool;
            _shutdownTimeout = engine.ServerOptions.ShutdownTimeout;
            _loop            = new UvLoopHandle(_log);
            _post            = new UvAsyncHandle(_log);
            _thread          = new Thread(ThreadStart);
            _thread.Name     = "KestrelThread - libuv";
            _heartbeatTimer  = new UvTimerHandle(_log);
#if !DEBUG
            // Mark the thread as being as unimportant to keeping the process alive.
            // Don't do this for debug builds, so we know if the thread isn't terminating.
            _thread.IsBackground = true;
#endif
            QueueCloseHandle      = PostCloseHandle;
            QueueCloseAsyncHandle = EnqueueCloseHandle;
            Memory            = new MemoryPool();
            WriteReqPool      = new WriteReqPool(this, _log);
            ConnectionManager = new ConnectionManager(this, _threadPool);
        }
Esempio n. 3
0
 // For testing
 internal KestrelThread(KestrelEngine engine, int maxLoops)
     : this(engine)
 {
     _maxLoops = maxLoops;
 }