in parquet/src/format.rs [3751:3836]
fn write_to_out_protocol<T: TOutputProtocol>(&self, o_prot: &mut T) -> thrift::Result<()> {
let struct_ident = TStructIdentifier::new("ColumnMetaData");
o_prot.write_struct_begin(&struct_ident)?;
o_prot.write_field_begin(&TFieldIdentifier::new("type", TType::I32, 1))?;
self.type_.write_to_out_protocol(o_prot)?;
o_prot.write_field_end()?;
o_prot.write_field_begin(&TFieldIdentifier::new("encodings", TType::List, 2))?;
o_prot.write_list_begin(&TListIdentifier::new(TType::I32, self.encodings.len() as i32))?;
for e in &self.encodings {
e.write_to_out_protocol(o_prot)?;
}
o_prot.write_list_end()?;
o_prot.write_field_end()?;
o_prot.write_field_begin(&TFieldIdentifier::new("path_in_schema", TType::List, 3))?;
o_prot.write_list_begin(&TListIdentifier::new(TType::String, self.path_in_schema.len() as i32))?;
for e in &self.path_in_schema {
o_prot.write_string(e)?;
}
o_prot.write_list_end()?;
o_prot.write_field_end()?;
o_prot.write_field_begin(&TFieldIdentifier::new("codec", TType::I32, 4))?;
self.codec.write_to_out_protocol(o_prot)?;
o_prot.write_field_end()?;
o_prot.write_field_begin(&TFieldIdentifier::new("num_values", TType::I64, 5))?;
o_prot.write_i64(self.num_values)?;
o_prot.write_field_end()?;
o_prot.write_field_begin(&TFieldIdentifier::new("total_uncompressed_size", TType::I64, 6))?;
o_prot.write_i64(self.total_uncompressed_size)?;
o_prot.write_field_end()?;
o_prot.write_field_begin(&TFieldIdentifier::new("total_compressed_size", TType::I64, 7))?;
o_prot.write_i64(self.total_compressed_size)?;
o_prot.write_field_end()?;
if let Some(ref fld_var) = self.key_value_metadata {
o_prot.write_field_begin(&TFieldIdentifier::new("key_value_metadata", TType::List, 8))?;
o_prot.write_list_begin(&TListIdentifier::new(TType::Struct, fld_var.len() as i32))?;
for e in fld_var {
e.write_to_out_protocol(o_prot)?;
}
o_prot.write_list_end()?;
o_prot.write_field_end()?
}
o_prot.write_field_begin(&TFieldIdentifier::new("data_page_offset", TType::I64, 9))?;
o_prot.write_i64(self.data_page_offset)?;
o_prot.write_field_end()?;
if let Some(fld_var) = self.index_page_offset {
o_prot.write_field_begin(&TFieldIdentifier::new("index_page_offset", TType::I64, 10))?;
o_prot.write_i64(fld_var)?;
o_prot.write_field_end()?
}
if let Some(fld_var) = self.dictionary_page_offset {
o_prot.write_field_begin(&TFieldIdentifier::new("dictionary_page_offset", TType::I64, 11))?;
o_prot.write_i64(fld_var)?;
o_prot.write_field_end()?
}
if let Some(ref fld_var) = self.statistics {
o_prot.write_field_begin(&TFieldIdentifier::new("statistics", TType::Struct, 12))?;
fld_var.write_to_out_protocol(o_prot)?;
o_prot.write_field_end()?
}
if let Some(ref fld_var) = self.encoding_stats {
o_prot.write_field_begin(&TFieldIdentifier::new("encoding_stats", TType::List, 13))?;
o_prot.write_list_begin(&TListIdentifier::new(TType::Struct, fld_var.len() as i32))?;
for e in fld_var {
e.write_to_out_protocol(o_prot)?;
}
o_prot.write_list_end()?;
o_prot.write_field_end()?
}
if let Some(fld_var) = self.bloom_filter_offset {
o_prot.write_field_begin(&TFieldIdentifier::new("bloom_filter_offset", TType::I64, 14))?;
o_prot.write_i64(fld_var)?;
o_prot.write_field_end()?
}
if let Some(fld_var) = self.bloom_filter_length {
o_prot.write_field_begin(&TFieldIdentifier::new("bloom_filter_length", TType::I32, 15))?;
o_prot.write_i32(fld_var)?;
o_prot.write_field_end()?
}
if let Some(ref fld_var) = self.size_statistics {
o_prot.write_field_begin(&TFieldIdentifier::new("size_statistics", TType::Struct, 16))?;
fld_var.write_to_out_protocol(o_prot)?;
o_prot.write_field_end()?
}
o_prot.write_field_stop()?;
o_prot.write_struct_end()
}