diff --git a/src/MySqlConnector/Protocol/Serialization/StreamByteHandler.cs b/src/MySqlConnector/Protocol/Serialization/StreamByteHandler.cs index 9dc68a06e..7bf4e0998 100644 --- a/src/MySqlConnector/Protocol/Serialization/StreamByteHandler.cs +++ b/src/MySqlConnector/Protocol/Serialization/StreamByteHandler.cs @@ -18,8 +18,9 @@ public StreamByteHandler(Stream stream) public ValueTask ReadBytesAsync(Memory buffer, IOBehavior ioBehavior) { - return ioBehavior == IOBehavior.Asynchronous ? new ValueTask(DoReadBytesAsync(buffer)) : + return RemainingTimeout <= 0 ? ValueTaskExtensions.FromException(MySqlException.CreateForTimeout()) : + ioBehavior == IOBehavior.Asynchronous ? new ValueTask(DoReadBytesAsync(buffer)) : m_stream.CanTimeout ? DoReadBytesSync(buffer) : DoReadBytesSyncOverAsync(buffer);