MCPcopy Create free account
hub / github.com/apache/thrift / _write

Method _write

lib/php/src/Thrift.php:377–412  ·  view source on GitHub ↗
($class, $spec, $output)

Source from the content-addressed store, hash-verified

375 }
376
377 protected function _write($class, $spec, $output)
378 {
379 $xfer = 0;
380 $xfer += $output->writeStructBegin($class);
381 foreach ($spec as $fid => $fspec) {
382 $var = $fspec['var'];
383 if ($this->$var !== null) {
384 $ftype = $fspec['type'];
385 $xfer += $output->writeFieldBegin($var, $ftype, $fid);
386 if (isset(TBase::$tmethod[$ftype])) {
387 $func = 'write'.TBase::$tmethod[$ftype];
388 $xfer += $output->$func($this->$var);
389 } else {
390 switch ($ftype) {
391 case TType::STRUCT:
392 $xfer += $this->$var->write($output);
393 break;
394 case TType::MAP:
395 $xfer += $this->_writeMap($this->$var, $fspec, $output);
396 break;
397 case TType::LST:
398 $xfer += $this->_writeList($this->$var, $fspec, $output, false);
399 break;
400 case TType::SET:
401 $xfer += $this->_writeList($this->$var, $fspec, $output, true);
402 break;
403 }
404 }
405 $xfer += $output->writeFieldEnd();
406 }
407 }
408 $xfer += $output->writeFieldStop();
409 $xfer += $output->writeStructEnd();
410
411 return $xfer;
412 }
413
414}
415

Callers

nothing calls this directly

Calls 8

_writeMapMethod · 0.95
_writeListMethod · 0.95
writeStructBeginMethod · 0.65
writeFieldBeginMethod · 0.65
writeMethod · 0.65
writeFieldEndMethod · 0.65
writeFieldStopMethod · 0.65
writeStructEndMethod · 0.65

Tested by

no test coverage detected