public Task StopListeningAsync() { return(SyncTask(() => { if (_socket == null || _socket.IsInvalid) { throw new InvalidOperationException("Server isn't listening"); } Event.EvHttpDelAcceptSocket(_evHttp, _socket); _socket = null; })); }
void Start(EvHttpBoundSocket boundSocket) { _socket = boundSocket; if (_socket.IsInvalid) { Dispose(); throw new IOException("Unable to bind to the specified address"); } var tcs = new TaskCompletionSource <object>(); _thread = new Thread(() => MainCycle(tcs)) { Priority = ThreadPriority.Highest }; _thread.Start(); tcs.Task.Wait(); }