Skip to content

Commit bef2029

Browse files
Merge pull request #928 from bollhals/ROM
change from Memory to ReadOnlyMemory
2 parents 1285469 + 76da0f4 commit bef2029

File tree

4 files changed

+9
-9
lines changed

4 files changed

+9
-9
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -924,7 +924,7 @@ public override string ToString()
924924
return string.Format("Connection({0},{1})", _id, Endpoint);
925925
}
926926

927-
public void Write(Memory<byte> memory)
927+
public void Write(ReadOnlyMemory<byte> memory)
928928
{
929929
_frameHandler.Write(memory);
930930
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,6 @@ internal interface IFrameHandler
6161

6262
void SendHeader();
6363

64-
void Write(Memory<byte> memory);
64+
void Write(ReadOnlyMemory<byte> memory);
6565
}
6666
}

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,8 @@ internal void Transmit(ushort channelNumber, Connection connection)
6666
var size = GetMaxSize(maxBodyPayloadBytes);
6767

6868
// Will be returned by SocketFrameWriter.WriteLoop
69-
var memory = new Memory<byte>(ArrayPool<byte>.Shared.Rent(size), 0, size);
70-
var span = memory.Span;
69+
var rentedArray = ArrayPool<byte>.Shared.Rent(size);
70+
var span = rentedArray.AsSpan(0, size);
7171

7272
var offset = Framing.Method.WriteTo(span, channelNumber, Method);
7373
if (Method.HasContent)
@@ -88,7 +88,7 @@ internal void Transmit(ushort channelNumber, Connection connection)
8888
throw new InvalidOperationException($"Serialized to wrong size, expect {size}, offset {offset}");
8989
}
9090

91-
connection.Write(memory);
91+
connection.Write(new ReadOnlyMemory<byte>(rentedArray, 0, size));
9292
}
9393

9494
private int GetMaxSize(int maxPayloadBytes)

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,8 @@ internal class SocketFrameHandler : IFrameHandler
7070
private readonly ITcpClient _socket;
7171
private readonly Stream _reader;
7272
private readonly Stream _writer;
73-
private readonly ChannelWriter<Memory<byte>> _channelWriter;
74-
private readonly ChannelReader<Memory<byte>> _channelReader;
73+
private readonly ChannelWriter<ReadOnlyMemory<byte>> _channelWriter;
74+
private readonly ChannelReader<ReadOnlyMemory<byte>> _channelReader;
7575
private readonly Task _writerTask;
7676
private readonly object _semaphore = new object();
7777
private readonly byte[] _frameHeaderBuffer;
@@ -83,7 +83,7 @@ public SocketFrameHandler(AmqpTcpEndpoint endpoint,
8383
{
8484
Endpoint = endpoint;
8585
_frameHeaderBuffer = new byte[6];
86-
var channel = Channel.CreateUnbounded<Memory<byte>>(
86+
var channel = Channel.CreateUnbounded<ReadOnlyMemory<byte>>(
8787
new UnboundedChannelOptions
8888
{
8989
AllowSynchronousContinuations = false,
@@ -260,7 +260,7 @@ public void SendHeader()
260260
_writer.Flush();
261261
}
262262

263-
public void Write(Memory<byte> memory)
263+
public void Write(ReadOnlyMemory<byte> memory)
264264
{
265265
_channelWriter.TryWrite(memory);
266266
}

0 commit comments

Comments
 (0)