public function read($input)
{
$xfer = 0;
$fname = null;
$ftype = 0;
$fid = 0;
$xfer += $input->readStructBegin($fname);
while (true) {
$xfer += $input->readFieldBegin($fname, $ftype, $fid);
if ($ftype == TType::STOP) {
break;
}
switch ($fid) {
case 1:
if ($ftype == TType::BOOL) {
$xfer += $input->readBool($this->is_empty);
} else {
$xfer += $input->skip($ftype);
}
break;
case 2:
if ($ftype == TType::I64) {
$xfer += $input->readI64($this->id);
} else {
$xfer += $input->skip($ftype);
}
break;
case 3:
if ($ftype == TType::BOOL) {
$xfer += $input->readBool($this->is_scan);
} else {
$xfer += $input->skip($ftype);
}
break;
case 4:
if ($ftype == TType::BOOL) {
$xfer += $input->readBool($this->is_error);
} else {
$xfer += $input->skip($ftype);
}
break;
case 5:
if ($ftype == TType::I32) {
$xfer += $input->readI32($this->error);
} else {
$xfer += $input->skip($ftype);
}
break;
case 6:
if ($ftype == TType::STRING) {
$xfer += $input->readString($this->error_msg);
} else {
$xfer += $input->skip($ftype);
}
break;
case 7:
if ($ftype == TType::LST) {
$this->cells = array();
$_size21 = 0;
$_etype24 = 0;
$xfer += $input->readListBegin($_etype24, $_size21);
for ($_i25 = 0; $_i25 < $_size21; ++$_i25) {
$elem26 = null;
$elem26 = new Hypertable_ThriftGen_Cell();
$xfer += $elem26->read($input);
$this->cells[] = $elem26;
}
$xfer += $input->readListEnd();
} else {
$xfer += $input->skip($ftype);
}
break;
default:
$xfer += $input->skip($ftype);
break;
}
$xfer += $input->readFieldEnd();
}
$xfer += $input->readStructEnd();
return $xfer;
}