Exemplo n.º 1
0
        internal Int64 ReadInt64()
        {
            var integerIndex = 0;
            var crfound      = false;

            while (CanRead())
            {
                for (; _left < _right; _left++)
                {
                    var b = _buffer[_left];

                    if (b == LFByte && crfound)
                    {
                        _left++; // moving to next line
                        return(Utf8ByteHelper.ParseInt64(_integerBuffer, integerIndex - 1));
                    }

                    crfound = b == CRByte;

                    _integerBuffer[integerIndex++] = b;
                }
            }

            throw new RedisClientSocketException("Cannot read an integer, not available data.");
        }
Exemplo n.º 2
0
        internal async Task <Char?> ReadRESPHeaderAsync(CancellationToken cancel)
        {
            if (await CanReadAsync(cancel).ConfigureAwait(false))
            {
                return(Utf8ByteHelper.ParseRESPHeader(_buffer[_left++]));
            }

            return(null);
        }
Exemplo n.º 3
0
        internal Char?ReadRESPHeader()
        {
            if (CanRead())
            {
                return(Utf8ByteHelper.ParseRESPHeader(_buffer[_left++]));
            }

            return(null);
        }