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

Method _writeList

lib/php/lib/Base/TBase.php:303–346  ·  view source on GitHub ↗
($var, $spec, $output, $set = false)

Source from the content-addressed store, hash-verified

301 }
302
303 private function _writeList($var, $spec, $output, $set = false)
304 {
305 $xfer = 0;
306 $etype = $spec['etype'];
307 $ewrite = null;
308 if (isset(TBase::$tmethod[$etype])) {
309 $ewrite = 'write' . TBase::$tmethod[$etype];
310 } else {
311 $espec = $spec['elem'];
312 }
313 if ($set) {
314 $xfer += $output->writeSetBegin($etype, count($var));
315 } else {
316 $xfer += $output->writeListBegin($etype, count($var));
317 }
318 foreach ($var as $key => $val) {
319 $elem = $set ? $key : $val;
320 if (isset($ewrite)) {
321 $xfer += $output->$ewrite($elem);
322 } else {
323 switch ($etype) {
324 case TType::STRUCT:
325 $xfer += $elem->write($output);
326 break;
327 case TType::MAP:
328 $xfer += $this->_writeMap($elem, $espec, $output);
329 break;
330 case TType::LST:
331 $xfer += $this->_writeList($elem, $espec, $output, false);
332 break;
333 case TType::SET:
334 $xfer += $this->_writeList($elem, $espec, $output, true);
335 break;
336 }
337 }
338 }
339 if ($set) {
340 $xfer += $output->writeSetEnd();
341 } else {
342 $xfer += $output->writeListEnd();
343 }
344
345 return $xfer;
346 }
347
348 protected function _write($class, $spec, $output)
349 {

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