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

Method _writeList

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

Source from the content-addressed store, hash-verified

330 }
331
332 private function _writeList($var, $spec, $output, $set=false)
333 {
334 $xfer = 0;
335 $etype = $spec['etype'];
336 $ewrite = null;
337 if (isset(TBase::$tmethod[$etype])) {
338 $ewrite = 'write'.TBase::$tmethod[$etype];
339 } else {
340 $espec = $spec['elem'];
341 }
342 if ($set) {
343 $xfer += $output->writeSetBegin($etype, count($var));
344 } else {
345 $xfer += $output->writeListBegin($etype, count($var));
346 }
347 foreach ($var as $key => $val) {
348 $elem = $set ? $key : $val;
349 if (isset($ewrite)) {
350 $xfer += $output->$ewrite($elem);
351 } else {
352 switch ($etype) {
353 case TType::STRUCT:
354 $xfer += $elem->write($output);
355 break;
356 case TType::MAP:
357 $xfer += $this->_writeMap($elem, $espec, $output);
358 break;
359 case TType::LST:
360 $xfer += $this->_writeList($elem, $espec, $output, false);
361 break;
362 case TType::SET:
363 $xfer += $this->_writeList($elem, $espec, $output, true);
364 break;
365 }
366 }
367 }
368 if ($set) {
369 $xfer += $output->writeSetEnd();
370 } else {
371 $xfer += $output->writeListEnd();
372 }
373
374 return $xfer;
375 }
376
377 protected function _write($class, $spec, $output)
378 {

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