protected function bulk($head)
    {
        if ($head == '$-1') {
            return null;
        }

        list($read, $response, $size) = array(0, '', substr($head, 1));

        if ($size > 0) {
            do {

                // Calculate and read the appropriate bytes off of the Redis response.
                $block = (($remaining = $size - $read) < 1024) ? $remaining : 1024;
                $response .= fread($this->connection, $block);
                $read += $block;

            } while ($read < $size);
        }

        // The response ends with a trailing CRLF.
        fread($this->connection, 2);

        return $response;
    }