Describe the bug
IBufferWriterExtension.Write method for unmanaged types creates a Span with invalid length:
int length = sizeof(T);
Span<byte> span = writer.GetSpan(1);
should be:
int length = sizeof(T);
Span<byte> span = writer.GetSpan(length);
That causes System.ArgumentException : The current buffer writer can't contain the requested input data. at runtime.
Steps to reproduce
Leave only one byte of free capacity and write a larger unmanaged type:
using var buffer = new ArrayPoolBufferWriter<byte>(16);
var count = buffer.Capacity - 1;
for (int i = 0; i < count; i++)
{
buffer.Write<byte>(0);
}
buffer.Write(1.0);
Expected behavior
It should grow the buffer accordingly.
IDE and version
VS 2022
IDE version
No response
Nuget packages
Nuget package version(s)
8.2.2
Help us help you
Yes, I'd like to be assigned to work on this item
Describe the bug
IBufferWriterExtension.Write method for unmanaged types creates a Span with invalid length:
should be:
That causes System.ArgumentException : The current buffer writer can't contain the requested input data. at runtime.
Steps to reproduce
Leave only one byte of free capacity and write a larger unmanaged type:
Expected behavior
It should grow the buffer accordingly.
IDE and version
VS 2022
IDE version
No response
Nuget packages
Nuget package version(s)
8.2.2
Help us help you
Yes, I'd like to be assigned to work on this item