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

Method _writeList

lib/php/src/Thrift.php:684–727  ·  view source on GitHub ↗
($var, $spec, $output, $set=false)

Source from the content-addressed store, hash-verified

682 }
683
684 private function _writeList($var, $spec, $output, $set=false)
685 {
686 $xfer = 0;
687 $etype = $spec['etype'];
688 $ewrite = null;
689 if (isset(TBase::$tmethod[$etype])) {
690 $ewrite = 'write'.TBase::$tmethod[$etype];
691 } else {
692 $espec = $spec['elem'];
693 }
694 if ($set) {
695 $xfer += $output->writeSetBegin($etype, count($var));
696 } else {
697 $xfer += $output->writeListBegin($etype, count($var));
698 }
699 foreach ($var as $key => $val) {
700 $elem = $set ? $key : $val;
701 if (isset($ewrite)) {
702 $xfer += $output->$ewrite($elem);
703 } else {
704 switch ($etype) {
705 case TType::STRUCT:
706 $xfer += $elem->write($output);
707 break;
708 case TType::MAP:
709 $xfer += $this->_writeMap($elem, $espec, $output);
710 break;
711 case TType::LST:
712 $xfer += $this->_writeList($elem, $espec, $output, false);
713 break;
714 case TType::SET:
715 $xfer += $this->_writeList($elem, $espec, $output, true);
716 break;
717 }
718 }
719 }
720 if ($set) {
721 $xfer += $output->writeSetEnd();
722 } else {
723 $xfer += $output->writeListEnd();
724 }
725
726 return $xfer;
727 }
728
729 protected function _write($class, $spec, $output)
730 {

Callers 2

_writeMapMethod · 0.95
_writeMethod · 0.95

Calls 6

_writeMapMethod · 0.95
writeSetBeginMethod · 0.65
writeListBeginMethod · 0.65
writeMethod · 0.65
writeSetEndMethod · 0.65
writeListEndMethod · 0.65

Tested by

no test coverage detected