diff options
author | TeinRnD <TeinRnd@gmail.com> | 2022-02-08 10:50:41 +0100 |
---|---|---|
committer | Jens Geyer <jensg@apache.org> | 2022-02-10 23:11:23 +0100 |
commit | 52d263e77c48bbf7cbabd03161107557d1e410b1 (patch) | |
tree | 94256157240418ef45bbfb265075b0f694f9c802 /lib/netstd | |
parent | 0b29261a4f3c6882ef3b09aae47914f0012b0472 (diff) | |
download | thrift-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.cs | 14 |
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) |