diff --git a/projects/RabbitMQ.Client/client/impl/SocketFrameHandler.cs b/projects/RabbitMQ.Client/client/impl/SocketFrameHandler.cs index 14f1635b62..2a6b6a5024 100644 --- a/projects/RabbitMQ.Client/client/impl/SocketFrameHandler.cs +++ b/projects/RabbitMQ.Client/client/impl/SocketFrameHandler.cs @@ -35,7 +35,6 @@ using System.Net; using System.Net.Sockets; using System.Runtime.InteropServices; -using System.Text; using System.Threading; using System.Threading.Channels; using System.Threading.Tasks; @@ -62,11 +61,6 @@ public static async Task TimeoutAfter(this Task task, TimeSpan timeout) internal class SocketFrameHandler : IFrameHandler { - // Socket poll timeout in ms. If the socket does not - // become writeable in this amount of time, we throw - // an exception. - private TimeSpan _writeableStateTimeout = TimeSpan.FromSeconds(30); - private int _writeableStateTimeoutMicroSeconds; private readonly ITcpClient _socket; private readonly Stream _reader; private readonly Stream _writer; @@ -149,7 +143,7 @@ public SocketFrameHandler(AmqpTcpEndpoint endpoint, _writer = new BufferedStream(netstream, _socket.Client.SendBufferSize); WriteTimeout = writeTimeout; - _writerTask = Task.Run(WriteLoop, CancellationToken.None); + _writerTask = Task.Run(WriteLoop); } public AmqpTcpEndpoint Endpoint { get; set; } @@ -195,9 +189,7 @@ public TimeSpan WriteTimeout { set { - _writeableStateTimeout = value; - _socket.Client.SendTimeout = (int)_writeableStateTimeout.TotalMilliseconds; - _writeableStateTimeoutMicroSeconds = _socket.Client.SendTimeout * 1000; + _socket.Client.SendTimeout = (int)value.TotalMilliseconds; } } @@ -282,7 +274,6 @@ private async Task WriteLoop() { while (await _channelReader.WaitToReadAsync().ConfigureAwait(false)) { - _socket.Client.Poll(_writeableStateTimeoutMicroSeconds, SelectMode.SelectWrite); while (_channelReader.TryRead(out ReadOnlyMemory memory)) { MemoryMarshal.TryGetArray(memory, out ArraySegment segment);