diff options
author | Jens Geyer <jensg@apache.org> | 2022-03-19 13:29:15 +0100 |
---|---|---|
committer | Jens Geyer <jensg@apache.org> | 2022-03-19 13:30:16 +0100 |
commit | 56ec69e9f85d5937645e619a79eff3d4872c8f26 (patch) | |
tree | 8d766b020da2d3110258b850bfe360b6f865f4e7 | |
parent | cd810bba7cb2d8c37f48f48a895713c2b2b42a6c (diff) | |
download | thrift-56ec69e9f85d5937645e619a79eff3d4872c8f26.tar.gz |
Revert SHA-1: 52d263e77c48bbf7cbabd03161107557d1e410b1
Using sync calls breaks web scenarios.
THRIFT-5499: Use blocking Read/Write calls to make sure the Receive/SendTimeout is checked.
Client: netstd
-rw-r--r-- | lib/netstd/Thrift/Transport/Client/TStreamTransport.cs | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/lib/netstd/Thrift/Transport/Client/TStreamTransport.cs b/lib/netstd/Thrift/Transport/Client/TStreamTransport.cs index 053a37ba1..90794c6b8 100644 --- a/lib/netstd/Thrift/Transport/Client/TStreamTransport.cs +++ b/lib/netstd/Thrift/Transport/Client/TStreamTransport.cs @@ -80,8 +80,11 @@ namespace Thrift.Transport.Client "Cannot read from null inputstream"); } - // 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 ); +#if NETSTANDARD2_0 + return await InputStream.ReadAsync(buffer, offset, length, cancellationToken); +#else + return await InputStream.ReadAsync(new Memory<byte>(buffer, offset, length), cancellationToken); +#endif } public override async Task WriteAsync(byte[] buffer, int offset, int length, CancellationToken cancellationToken) @@ -92,8 +95,11 @@ namespace Thrift.Transport.Client "Cannot write to null outputstream"); } - // The WriteAsync method should not be used since it does not check the SendTimeout property. - await Task.Run( () => OutputStream.Write( buffer, offset, length ), cancellationToken ); +#if NETSTANDARD2_0 + await OutputStream.WriteAsync(buffer, offset, length, cancellationToken); +#else + await OutputStream.WriteAsync(buffer.AsMemory(offset, length), cancellationToken); +#endif } public override async Task FlushAsync(CancellationToken cancellationToken) |