private unsafe void UpdateDataChunk(int index, byte[] buffer, int offset, int count)
{
if (buffer == null)
{
_dataChunks[index].pBuffer = null;
_dataChunks[index].BufferLength = 0;
return;
}
if (_webSocket.InternalBuffer.IsInternalBuffer(buffer, offset, count))
{
_dataChunks[index].pBuffer = (byte*)(_webSocket.InternalBuffer.ToIntPtr(offset));
}
else
{
_dataChunks[index].pBuffer =
(byte*)_webSocket.InternalBuffer.ConvertPinnedSendPayloadToNative(buffer, offset, count);
}
_dataChunks[index].BufferLength = (uint)count;
}