Skip to content

Commit f9dd5c6

Browse files
committed
Remove ClientArrayPool
Fixes #1421
1 parent 0682db6 commit f9dd5c6

File tree

5 files changed

+12
-123
lines changed

5 files changed

+12
-123
lines changed

projects/RabbitMQ.Client/client/ClientArrayPool.cs

Lines changed: 0 additions & 114 deletions
This file was deleted.

projects/RabbitMQ.Client/client/RentedMemory.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
//---------------------------------------------------------------------------
3131

3232
using System;
33+
using System.Buffers;
3334

3435
namespace RabbitMQ.Client
3536
{
@@ -73,7 +74,7 @@ private void Dispose(bool disposing)
7374
{
7475
if (disposing && RentedArray != null)
7576
{
76-
ClientArrayPool.Return(RentedArray);
77+
ArrayPool<byte>.Shared.Return(RentedArray);
7778
}
7879

7980
_disposedValue = true;

projects/RabbitMQ.Client/client/impl/CommandAssembler.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
//---------------------------------------------------------------------------
3131

3232
using System;
33+
using System.Buffers;
3334
using RabbitMQ.Client.client.framing;
3435
using RabbitMQ.Client.Exceptions;
3536
using RabbitMQ.Client.Framing.Impl;
@@ -185,7 +186,7 @@ private bool ParseBodyFrame(in InboundFrame frame)
185186
}
186187

187188
// Is returned by IncomingCommand.ReturnPayload in Session.HandleFrame
188-
_rentedBodyArray = ClientArrayPool.Rent(_remainingBodyByteCount);
189+
_rentedBodyArray = ArrayPool<byte>.Shared.Rent(_remainingBodyByteCount);
189190
_bodyMemory = new ReadOnlyMemory<byte>(_rentedBodyArray, 0, _remainingBodyByteCount);
190191
}
191192

projects/RabbitMQ.Client/client/impl/Frame.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ internal static class Heartbeat
143143
public static RentedMemory GetHeartbeatFrame()
144144
{
145145
// Is returned by SocketFrameHandler.WriteLoop
146-
byte[] buffer = ClientArrayPool.Rent(FrameSize);
146+
byte[] buffer = ArrayPool<byte>.Shared.Rent(FrameSize);
147147
Payload.CopyTo(buffer);
148148
var mem = new ReadOnlyMemory<byte>(buffer, 0, FrameSize);
149149
return new RentedMemory(mem, buffer);
@@ -157,7 +157,7 @@ public static RentedMemory SerializeToFrames<T>(ref T method, ushort channelNumb
157157
int size = Method.FrameSize + method.GetRequiredBufferSize();
158158

159159
// Will be returned by SocketFrameWriter.WriteLoop
160-
byte[] array = ClientArrayPool.Rent(size);
160+
byte[] array = ArrayPool<byte>.Shared.Rent(size);
161161
int offset = Method.WriteTo(array, channelNumber, ref method);
162162

163163
System.Diagnostics.Debug.Assert(offset == size, $"Serialized to wrong size, expect {size}, offset {offset}");
@@ -176,7 +176,7 @@ public static RentedMemory SerializeToFrames<TMethod, THeader>(ref TMethod metho
176176
BodySegment.FrameSize * GetBodyFrameCount(maxBodyPayloadBytes, remainingBodyBytes) + remainingBodyBytes;
177177

178178
// Will be returned by SocketFrameWriter.WriteLoop
179-
byte[] array = ClientArrayPool.Rent(size);
179+
byte[] array = ArrayPool<byte>.Shared.Rent(size);
180180

181181
int offset = Method.WriteTo(array, channelNumber, ref method);
182182
offset += Header.WriteTo(array.AsSpan(offset), channelNumber, ref header, remainingBodyBytes);
@@ -342,14 +342,14 @@ internal static bool TryReadFrame(ref ReadOnlySequence<byte> buffer, uint maxMes
342342
}
343343
else
344344
{
345-
byte[] payloadBytes = ClientArrayPool.Rent(readSize);
345+
byte[] payloadBytes = ArrayPool<byte>.Shared.Rent(readSize);
346346
ReadOnlySequence<byte> framePayload = buffer.Slice(7, readSize);
347347
framePayload.CopyTo(payloadBytes);
348348

349349
if (payloadBytes[payloadSize] != Constants.FrameEnd)
350350
{
351351
byte frameEndMarker = payloadBytes[payloadSize];
352-
ClientArrayPool.Return(payloadBytes);
352+
ArrayPool<byte>.Shared.Return(payloadBytes);
353353
throw new MalformedFrameException($"Bad frame end marker: {frameEndMarker}");
354354
}
355355

@@ -368,7 +368,7 @@ public byte[] TakeoverPayload()
368368

369369
public void ReturnPayload()
370370
{
371-
ClientArrayPool.Return(_rentedArray);
371+
ArrayPool<byte>.Shared.Return(_rentedArray);
372372
}
373373

374374
public override string ToString()

projects/Test/Unit/TestFrameFormatting.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
//---------------------------------------------------------------------------
3131

3232
using System;
33+
using System.Buffers;
3334
using RabbitMQ.Client;
3435
using RabbitMQ.Client.Framing.Impl;
3536
using RabbitMQ.Client.Impl;
@@ -59,7 +60,7 @@ public void HeartbeatFrame()
5960
}
6061
finally
6162
{
62-
ClientArrayPool.Return(sfc.RentedArray);
63+
ArrayPool<byte>.Shared.Return(sfc.RentedArray);
6364
}
6465
}
6566

0 commit comments

Comments
 (0)