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::MAP) {
$this->access_groups = array();
$_size49 = 0;
$_ktype50 = 0;
$_vtype51 = 0;
$xfer += $input->readMapBegin($_ktype50, $_vtype51, $_size49);
for ($_i53 = 0; $_i53 < $_size49; ++$_i53) {
$key54 = '';
$val55 = new Hypertable_ThriftGen_AccessGroup();
$xfer += $input->readString($key54);
$val55 = new Hypertable_ThriftGen_AccessGroup();
$xfer += $val55->read($input);
$this->access_groups[$key54] = $val55;
}
$xfer += $input->readMapEnd();
} else {
$xfer += $input->skip($ftype);
}
break;
case 2:
if ($ftype == TType::MAP) {
$this->column_families = array();
$_size56 = 0;
$_ktype57 = 0;
$_vtype58 = 0;
$xfer += $input->readMapBegin($_ktype57, $_vtype58, $_size56);
for ($_i60 = 0; $_i60 < $_size56; ++$_i60) {
$key61 = '';
$val62 = new Hypertable_ThriftGen_ColumnFamily();
$xfer += $input->readString($key61);
$val62 = new Hypertable_ThriftGen_ColumnFamily();
$xfer += $val62->read($input);
$this->column_families[$key61] = $val62;
}
$xfer += $input->readMapEnd();
} else {
$xfer += $input->skip($ftype);
}
break;
default:
$xfer += $input->skip($ftype);
break;
}
$xfer += $input->readFieldEnd();
}
$xfer += $input->readStructEnd();
return $xfer;
}