예제 #1
0
파일: Types.php 프로젝트: srspnda/api-php
 public function write($output)
 {
     $xfer = 0;
     $xfer += $output->writeStructBegin('ReportRequest');
     if ($this->runtime !== null) {
         if (!is_object($this->runtime)) {
             throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
         }
         $xfer += $output->writeFieldBegin('runtime', TType::STRUCT, 1);
         $xfer += $this->runtime->write($output);
         $xfer += $output->writeFieldEnd();
     }
     if ($this->span_records !== null) {
         if (!is_array($this->span_records)) {
             throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
         }
         $xfer += $output->writeFieldBegin('span_records', TType::LST, 3);
         $output->writeListBegin(TType::STRUCT, count($this->span_records));
         foreach ($this->span_records as $iter46) {
             $xfer += $iter46->write($output);
         }
         $output->writeListEnd();
         $xfer += $output->writeFieldEnd();
     }
     if ($this->log_records !== null) {
         if (!is_array($this->log_records)) {
             throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
         }
         $xfer += $output->writeFieldBegin('log_records', TType::LST, 4);
         $output->writeListBegin(TType::STRUCT, count($this->log_records));
         foreach ($this->log_records as $iter47) {
             $xfer += $iter47->write($output);
         }
         $output->writeListEnd();
         $xfer += $output->writeFieldEnd();
     }
     if ($this->timestamp_offset_micros !== null) {
         $xfer += $output->writeFieldBegin('timestamp_offset_micros', TType::I64, 5);
         $xfer += $output->writeI64($this->timestamp_offset_micros);
         $xfer += $output->writeFieldEnd();
     }
     if ($this->oldest_micros !== null) {
         $xfer += $output->writeFieldBegin('oldest_micros', TType::I64, 7);
         $xfer += $output->writeI64($this->oldest_micros);
         $xfer += $output->writeFieldEnd();
     }
     if ($this->youngest_micros !== null) {
         $xfer += $output->writeFieldBegin('youngest_micros', TType::I64, 8);
         $xfer += $output->writeI64($this->youngest_micros);
         $xfer += $output->writeFieldEnd();
     }
     if ($this->counters !== null) {
         if (!is_array($this->counters)) {
             throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
         }
         $xfer += $output->writeFieldBegin('counters', TType::LST, 9);
         $output->writeListBegin(TType::STRUCT, count($this->counters));
         foreach ($this->counters as $iter48) {
             $xfer += $iter48->write($output);
         }
         $output->writeListEnd();
         $xfer += $output->writeFieldEnd();
     }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;
 }