From 56ec69e9f85d5937645e619a79eff3d4872c8f26 Mon Sep 17 00:00:00 2001 From: Jens Geyer Date: Sat, 19 Mar 2022 13:29:15 +0100 Subject: 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 --- lib/netstd/Thrift/Transport/Client/TStreamTransport.cs | 14 ++++++++++---- 1 file 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(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) -- cgit v1.2.1