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

Method _writeList

lib/php/lib/Exception/TException.php:304–347  ·  view source on GitHub ↗
($var, $spec, $output, $set = false)

Source from the content-addressed store, hash-verified

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

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