summaryrefslogtreecommitdiff
path: root/lib/netstd
diff options
context:
space:
mode:
authorTeinRnD <TeinRnd@gmail.com>2022-02-08 10:50:41 +0100
committerJens Geyer <jensg@apache.org>2022-02-10 23:11:23 +0100
commit52d263e77c48bbf7cbabd03161107557d1e410b1 (patch)
tree94256157240418ef45bbfb265075b0f694f9c802 /lib/netstd
parent0b29261a4f3c6882ef3b09aae47914f0012b0472 (diff)
downloadthrift-52d263e77c48bbf7cbabd03161107557d1e410b1.tar.gz
THRIFT-5499: Use blocking Read/Write calls to make sure the Receive/SendTimeout is checked.
Client: netstd
Diffstat (limited to 'lib/netstd')
-rw-r--r--lib/netstd/Thrift/Transport/Client/TStreamTransport.cs14
1 files changed, 4 insertions, 10 deletions
diff --git a/lib/netstd/Thrift/Transport/Client/TStreamTransport.cs b/lib/netstd/Thrift/Transport/Client/TStreamTransport.cs
index 90794c6b8..053a37ba1 100644
--- a/lib/netstd/Thrift/Transport/Client/TStreamTransport.cs
+++ b/lib/netstd/Thrift/Transport/Client/TStreamTransport.cs
@@ -80,11 +80,8 @@ namespace Thrift.Transport.Client
"Cannot read from null inputstream");
}
-#if NETSTANDARD2_0
- return await InputStream.ReadAsync(buffer, offset, length, cancellationToken);
-#else
- return await InputStream.ReadAsync(new Memory<byte>(buffer, offset, length), cancellationToken);
-#endif
+ // The ReadAsync method should not be used since it does not check the ReceiveTimeout property.
+ return await Task.Run( () => InputStream.Read( buffer, offset, length ), cancellationToken );
}
public override async Task WriteAsync(byte[] buffer, int offset, int length, CancellationToken cancellationToken)
@@ -95,11 +92,8 @@ namespace Thrift.Transport.Client
"Cannot write to null outputstream");
}
-#if NETSTANDARD2_0
- await OutputStream.WriteAsync(buffer, offset, length, cancellationToken);
-#else
- await OutputStream.WriteAsync(buffer.AsMemory(offset, length), cancellationToken);
-#endif
+ // The WriteAsync method should not be used since it does not check the SendTimeout property.
+ await Task.Run( () => OutputStream.Write( buffer, offset, length ), cancellationToken );
}
public override async Task FlushAsync(CancellationToken cancellationToken)