public function readMessage($stream)
 {
     /*FlashorbBinaryReader*/
     $dataStream = new FlashorbBinaryReader($stream);
     /*int*/
     $version = $dataStream->readUnsignedShort();
     if (LOGGING) {
         Log::log(LoggingConstants::DEBUG, "version - " . $version);
     }
     // read headers
     /*int*/
     $totalHeaders = $dataStream->readUnsignedShort();
     //System.out.println( "totalHeaders - " + totalHeaders );
     /*Header[]*/
     $headers = array();
     //new Header[ totalHeaders ];
     for ($i = 0; $i < $totalHeaders; $i++) {
         $headers[$i] = $this->readHeader($dataStream);
     }
     // read body parts
     /*int*/
     $totalBodyParts = $dataStream->readUnsignedShort();
     if (LOGGING) {
         Log::log(LoggingConstants::DEBUG, "totalBodies - " . $totalBodyParts);
     }
     /*Body[]*/
     $bodies = array();
     for ($i = 0; $i < $totalBodyParts; $i++) {
         $bodies[$i] = $this->readBodyPart($dataStream);
     }
     if (LOGGING) {
         Log::log(LoggingConstants::DEBUG, "returning message");
     }
     /*Request*/
     $request = new Request($version, $headers, $bodies);
     //		var_dump($request);
     //    	Log::log(LoggingConstants::MYDEBUG, ob_get_contents());
     return $request;
 }
示例#2
0
 public function read(FlashorbBinaryReader $reader, ParseContext $parseContext)
 {
     return new DateType(new ORBDateTime($reader->readDouble(), $reader->readUnsignedShort()));
 }
 private function readHeader(FlashorbBinaryReader $reader)
 {
     Log::log(LoggingConstants::DEBUG, "Called");
     $nameLength = $reader->readUnsignedShort();
     $name = $reader->readBytes($nameLength);
     $mustUnderstand = $reader->readBoolean();
     $length = $reader->readInteger();
     //$reader->readBytes($length);
     return new Header($name, $mustUnderstand, $length, self::readData($reader, null, null));
 }
 public function read(FlashorbBinaryReader $reader, ParseContext $parseContext)
 {
     $pointer = $reader->readUnsignedShort();
     return $parseContext->getReference($pointer);
 }