/// <summary>
/// Writes a uuid (16-bytes) into the buffer and advance the buffer write cursor.
/// </summary>
/// <param name="buffer">The buffer to write.</param>
/// <param name="data">The data to write.</param>
public static void WriteUuid(ByteBuffer buffer, Guid data)
{
buffer.Validate(true, FixedWidth.Uuid);
byte[] p = data.ToByteArray();
int pos = buffer.WritePos;
if (AmqpBitConverter.IsLittleEndian)
{
buffer.Buffer[pos++] = p[3];
buffer.Buffer[pos++] = p[2];
buffer.Buffer[pos++] = p[1];
buffer.Buffer[pos++] = p[0];
buffer.Buffer[pos++] = p[5];
buffer.Buffer[pos++] = p[4];
buffer.Buffer[pos++] = p[7];
buffer.Buffer[pos++] = p[6];
Array.Copy(p, 8, buffer.Buffer, pos, 8);
}
else
{
Array.Copy(p, buffer.Buffer, FixedWidth.Uuid);
}
buffer.Append(FixedWidth.Uuid);
}