From 0bc3bc3f1e0fdd6797a7c61abe3a84f602090505 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20N=C3=A4geli?= Date: Fri, 31 Jan 2025 13:05:31 +0100 Subject: [PATCH] Fix Keep-Alive being broken on .NET 8 (#628) --- Engine/Internal/Protocol/Parser/RequestScanner.cs | 2 +- Engine/Internal/Protocol/RequestBuffer.cs | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Engine/Internal/Protocol/Parser/RequestScanner.cs b/Engine/Internal/Protocol/Parser/RequestScanner.cs index 12bbb2a9..adfd56df 100644 --- a/Engine/Internal/Protocol/Parser/RequestScanner.cs +++ b/Engine/Internal/Protocol/Parser/RequestScanner.cs @@ -50,7 +50,7 @@ internal async ValueTask Next(RequestBuffer buffer, bool forceRead } // did not recognize any tokens, probably due to missing input data - if (!forceRead) + if (!forceRead && !buffer.Timeout) { return await Next(buffer, true, includeWhitespace); } diff --git a/Engine/Internal/Protocol/RequestBuffer.cs b/Engine/Internal/Protocol/RequestBuffer.cs index 252032cd..2779468f 100644 --- a/Engine/Internal/Protocol/RequestBuffer.cs +++ b/Engine/Internal/Protocol/RequestBuffer.cs @@ -44,6 +44,8 @@ internal RequestBuffer(PipeReader reader, NetworkConfiguration configuration) internal bool ReadRequired => _Data == null || _Data.Value.IsEmpty; + internal bool Timeout { get; private set; } + #endregion #region Functionality @@ -67,6 +69,8 @@ internal RequestBuffer(PipeReader reader, NetworkConfiguration configuration) Cancellation.Dispose(); Cancellation = null; + Timeout = true; + return null; } }