IEnumerable <ByteBuffer> ResponseFinishedCallback() { IBaseWatcher handler = null; handler = Server.Context.CreateIdleWatcher(delegate { handler.Dispose(); responseFinished = true; bool disconnect = true; if (!NoKeepAlive) { string dis; if (Request.MinorVersion > 0 && Request.Headers.TryGetValue("Connection", out dis)) { disconnect = (dis == "close"); } } if (disconnect) { Socket.Close(); if (wantClose) { Close(); } } else { responseFinished = false; wantClose = false; Request.Read(Close); } }); handler.Start(); yield break; }
IEnumerable<ByteBuffer> ResponseFinishedCallback() { if (handler != null) { handler.Dispose (); } handler = Server.Context.CreateIdleWatcher (delegate { handler.Dispose (); responseFinished = true; bool disconnect = true; if (!NoKeepAlive) { string dis; if (Request.MinorVersion > 0 && Request.Headers.TryGetValue ("Connection", out dis)) disconnect = (dis == "close"); } if (disconnect) { Socket.Close (); if (wantClose) { Close (); } } else { responseFinished = false; wantClose = false; Request.Read (Close); } }); handler.Start (); yield break; }