27 lines
867 B
C#
27 lines
867 B
C#
using System;
|
|
using System.Buffers.Binary;
|
|
using System.Runtime.CompilerServices;
|
|
using Server;
|
|
|
|
namespace Benchmarks
|
|
{
|
|
public static class PacketTestUtilities
|
|
{
|
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
|
public static void Write(this Span<byte> data, ref int pos, Serial serial)
|
|
{
|
|
BinaryPrimitives.WriteUInt32BigEndian(data.Slice(pos, 4), serial);
|
|
pos += 4;
|
|
}
|
|
|
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
|
public static void Write(this Span<byte> data, ref int pos, ushort value)
|
|
{
|
|
BinaryPrimitives.WriteUInt16BigEndian(data.Slice(pos, 2), value);
|
|
pos += 2;
|
|
}
|
|
|
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
|
public static void Write(this Span<byte> data, ref int pos, byte value) => data[pos++] = value;
|
|
}
|
|
}
|