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); } }
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); } }
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); } }