Esempio n. 1
0
 /**
  * Enter description here...
  *
  * @param PhpBuf_IO_Writer_Interface $writer
  */
 protected function writeHeader(PhpBuf_IO_Writer_Interface $writer)
 {
     $value = $this->index << 3;
     $value = $value | $this->wireType;
     PhpBuf_Base128::encodeToWriter($writer, $value);
 }
Esempio n. 2
0
File: test.php Progetto: undr/phpbuf
require_once "./tests/Example/Test1.php";
require_once "./tests/Example/Test3.php";
echo "Test values less than 128 (encode/decode)\n";
$result = PhpBuf_Base128::decodeFromReader(new PhpBuf_IO_Reader(PhpBuf_Base128::encode(120)));
echo "120 == " . $result . "\n\n";
echo "Test values more than 128 (only decode)\n";
$result = PhpBuf_Base128::decodeFromReader(new PhpBuf_IO_Reader(pack("n", 44034)));
echo "300 == " . $result . "\n\n";
echo "Test values more than 128 (encode/decode)\n";
$encode = PhpBuf_Base128::encode(300);
$result = PhpBuf_Base128::decodeFromReader(new PhpBuf_IO_Reader($encode));
echo "encoded: {$encode}\n\n";
echo "300 == " . $result . "\n\n";
echo "Test values more than 128 (encode/decode)\n";
$encode = PhpBuf_Base128::encode(123456789);
$result = PhpBuf_Base128::decodeFromReader(new PhpBuf_IO_Reader($encode));
echo "encoded: {$encode}\n\n";
echo "123456789 == " . $result . "\n\n";
echo "Test ZigZag class\n";
echo "value: 0\n";
$encode = PhpBuf_ZigZag::encode(0);
echo "encoded: " . $encode . "\n";
echo "decoded: " . PhpBuf_ZigZag::decode($encode) . "\n\n";
echo "value: 1\n";
$encode = PhpBuf_ZigZag::encode(1);
echo "encoded: " . $encode . "\n";
echo "decoded: " . PhpBuf_ZigZag::decode($encode) . "\n\n";
echo "value: -1\n";
$encode = PhpBuf_ZigZag::encode(-1);
echo "encoded: " . $encode . "\n";
echo "decoded: " . PhpBuf_ZigZag::decode($encode) . "\n\n";
Esempio n. 3
0
 public static function write(PhpBuf_IO_Writer_Interface $writer, $value)
 {
     PhpBuf_Base128::encodeToWriter($writer, $value);
 }
Esempio n. 4
0
 /**
  * Read field info from reader and return associated field class
  *
  * @param IO_Reader_Interface $reader
  * @return Message_Abstract
  */
 protected function readFieldFromHeader(PhpBuf_IO_Reader_Interface $reader)
 {
     $varint = PhpBuf_Base128::decodeFromReader($reader);
     $fieldIndex = $varint >> 3;
     $wireType = self::mask($varint);
     if (!isset($this->fields[$fieldIndex])) {
         throw new PhpBuf_Field_Exception("class " . get_class($this) . " field index {$fieldIndex} not found");
     }
     $fieldClass = $this->fields[$fieldIndex];
     $fieldsWireType = $fieldClass->getWireType();
     if ($wireType !== $fieldsWireType) {
         throw new PhpBuf_Field_Exception("discrepancy of wire types");
     }
     return $fieldClass;
 }
Esempio n. 5
0
 public function testEncodeAndDecodeBigValues()
 {
     $encode = PhpBuf_Base128::encode(123456789);
     $result = PhpBuf_Base128::decodeFromReader(new PhpBuf_IO_Reader($encode));
     $this->assertEquals(123456789, $result);
 }
Esempio n. 6
0
 public static function write(PhpBuf_IO_Writer_Interface $writer, $value)
 {
     PhpBuf_Base128::encodeToWriter($writer, strlen($value));
     $writer->writeBytes($value);
 }