public function write($output)
{
$xfer = 0;
$xfer += $output->writeStructBegin('Cassandra_batch_mutate_args');
if ($this->keyspace !== null) {
$xfer += $output->writeFieldBegin('keyspace', TType::STRING, 1);
$xfer += $output->writeString($this->keyspace);
$xfer += $output->writeFieldEnd();
}
if ($this->mutation_map !== null) {
if (!is_array($this->mutation_map)) {
throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
}
$xfer += $output->writeFieldBegin('mutation_map', TType::MAP, 2);
$output->writeMapBegin(TType::STRING, TType::MAP, count($this->mutation_map));
foreach ($this->mutation_map as $kiter133 => $viter134) {
$xfer += $output->writeString($kiter133);
$output->writeMapBegin(TType::STRING, TType::LST, count($viter134));
foreach ($viter134 as $kiter135 => $viter136) {
$xfer += $output->writeString($kiter135);
$output->writeListBegin(TType::STRUCT, count($viter136));
foreach ($viter136 as $iter137) {
$xfer += $iter137->write($output);
}
$output->writeListEnd();
}
$output->writeMapEnd();
}
$output->writeMapEnd();
$xfer += $output->writeFieldEnd();
}
if ($this->consistency_level !== null) {
$xfer += $output->writeFieldBegin('consistency_level', TType::I32, 3);
$xfer += $output->writeI32($this->consistency_level);
$xfer += $output->writeFieldEnd();
}
$xfer += $output->writeFieldStop();
$xfer += $output->writeStructEnd();
return $xfer;
}