Esempio n. 1
0
        public ByteBufferPool(int poolSize, int maxBufferSize)
        {
            _poolSize = poolSize;
            _pool     = new PooledByteBuffer[poolSize];

            for (int idx = 0; idx < poolSize; ++idx)
            {
                _pool[idx] = new PooledByteBuffer(idx, maxBufferSize);
            }
        }
Esempio n. 2
0
        private static void SendBuffer(RedisSocket socket, PooledByteBuffer buffer)
        {
            buffer.StartRead();
            var bytes     = new byte[ReadBufferSize];
            var bytesRead = 0;

            while ((bytesRead = buffer.Read(bytes, 0, bytes.Length)) > 0)
            {
                socket.Write(bytes, 0, bytesRead);
            }
        }
Esempio n. 3
0
 private static void WriteInBuffer(PooledByteBuffer buffer, byte[][] commands)
 {
     buffer.Write(("*" + commands.Length).ToByteArray());
     buffer.Write(EndData);
     foreach (var arg in commands)
     {
         buffer.Write(("$" + arg.Length).ToByteArray());
         buffer.Write(EndData);
         buffer.Write(arg);
         buffer.Write(EndData);
     }
 }