public static void WriteInt(this Stream stream, int data)
        {
            Span <byte> buffer = stackalloc byte[sizeof(int)];

            if (BitConverter20.TryWriteBytes(buffer, data))
            {
                stream.Write(buffer);
            }
        }
        public static void WriteByteFromStack(this Stream stream, byte data)
        {
            Span <byte> buffer = stackalloc byte[sizeof(ushort)];

            if (BitConverter20.TryWriteBytes(buffer, data))
            {
                stream.Write(buffer.Slice(0, 1));
            }
        }
        public static void WriteUlong(this Stream stream, ulong data)
        {
            Span <byte> buffer = stackalloc byte[sizeof(ulong)];

            if (BitConverter20.TryWriteBytes(buffer, data))
            {
                stream.Write(buffer);
            }
        }
        public static async ValueTask <ushort> ReadUShortAsync(this ITcpDataReader reader, CancellationToken ct)
        {
            var data = await reader.ReadAsyncAsync(sizeof(ushort), ct);

            var result = BitConverter20.ToUInt16(data.Span);

            reader.CommitReadData(data);
            return(result);
        }
        public static async ValueTask <long> ReadLongAsync(this ITcpDataReader reader, CancellationToken ct)
        {
            var data = await reader.ReadAsyncAsync(sizeof(long), ct);

            var result = BitConverter20.ToInt64(data.Span);

            reader.CommitReadData(data);
            return(result);
        }
        public static void WriteLong(this Stream stream, long data)
        {
            var         memStream = new MemoryStream();
            Span <byte> buffer    = stackalloc byte[sizeof(long)];

            if (BitConverter20.TryWriteBytes(buffer, data))
            {
                stream.Write(buffer);
            }
        }