public static function readVarIntSession(Session $session, &$offset = 0) { $number = 0; $shift = 0; while (true) { $b = $session->read(1); $c = ord($b); $number |= ($c & 0x7f) << $shift; $shift += 7; ++$offset; if ($b === false) { return false; } elseif (($c & 0x80) === 0x0) { break; } } return $number; }