From 898b038f4870816c58adc544db102655df87572e Mon Sep 17 00:00:00 2001 From: Daniele Alessandri Date: Wed, 12 Jan 2011 18:17:35 +0100 Subject: [PATCH] Do not make useless calls to fread. --- lib/addons/FastTextProtocol.php | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/lib/addons/FastTextProtocol.php b/lib/addons/FastTextProtocol.php index c5742c53..ac99e2e9 100644 --- a/lib/addons/FastTextProtocol.php +++ b/lib/addons/FastTextProtocol.php @@ -60,7 +60,7 @@ class FastTextProtocol implements IRedisProtocol { return null; } $bulkData = ''; - $bytesLeft = $size; + $bytesLeft = ($size += 2); do { $chunk = fread($socket, min($bytesLeft, $bufferSize)); if ($chunk === false || $chunk === '') { @@ -71,8 +71,7 @@ class FastTextProtocol implements IRedisProtocol { $bulkData .= $chunk; $bytesLeft = $size - strlen($bulkData); } while ($bytesLeft > 0); - fread($socket, 2); // discard CRLF - return $bulkData; + return substr($bulkData, 0, -2); case '*': // multi bulk $count = (int) $payload; @@ -95,7 +94,7 @@ class FastTextProtocol implements IRedisProtocol { return $multibulk; } $bulkData = ''; - $bytesLeft = $size; + $bytesLeft = ($size += 2); do { $chunk = fread($socket, min($bytesLeft, $bufferSize)); if ($chunk === false || $chunk === '') { @@ -106,8 +105,7 @@ class FastTextProtocol implements IRedisProtocol { $bulkData .= $chunk; $bytesLeft = $size - strlen($bulkData); } while ($bytesLeft > 0); - $multibulk[$i] = $bulkData; - fread($socket, 2); // discard CRLF + $multibulk[$i] = substr($bulkData, 0, -2); } return $multibulk;