public static async ValueTask <ServerProgressMessage> Read(ClickHouseBinaryProtocolReader reader, bool async, CancellationToken cancellationToken)
        {
            ulong rows = await reader.Read7BitUInt64(async, cancellationToken);

            ulong bytes = await reader.Read7BitUInt64(async, cancellationToken);

            ulong totals = await reader.Read7BitUInt64(async, cancellationToken);

            ulong writtenRows = await reader.Read7BitUInt64(async, cancellationToken);

            ulong writtenBytes = await reader.Read7BitUInt64(async, cancellationToken);

            return(new ServerProgressMessage(rows, bytes, totals, writtenRows, writtenBytes));
        }
        public static async ValueTask <ServerProfileInfoMessage> Read(ClickHouseBinaryProtocolReader reader, bool async, CancellationToken cancellationToken)
        {
            ulong rows = await reader.Read7BitUInt64(async, cancellationToken);

            ulong blocks = await reader.Read7BitUInt64(async, cancellationToken);

            ulong bytes = await reader.Read7BitUInt64(async, cancellationToken);

            bool limitApplied = await reader.ReadBool(async, cancellationToken);

            ulong rowsBeforeLimit = await reader.Read7BitUInt64(async, cancellationToken);

            bool calculatedRowsBeforeLimit = await reader.ReadBool(async, cancellationToken);

            return(new ServerProfileInfoMessage(rows, blocks, bytes, limitApplied, rowsBeforeLimit, calculatedRowsBeforeLimit));
        }