storing unknown fields

This commit is contained in:
Erik Friese 2023-08-30 15:49:25 +02:00
parent 84af157122
commit 24d694afe2

View File

@ -14,6 +14,19 @@ pub fn merge_msg_into_pyobj(obj: &PyAny, mut msg: DynamicMessage) -> Result<()>
map_field_value(field_name, field.1, proto_meta)?, map_field_value(field_name, field.1, proto_meta)?,
)?; )?;
} }
let mut buf = vec![];
for field in msg.unknown_fields() {
field.encode(&mut buf);
}
if !buf.is_empty() {
let mut unknown_fields = obj.getattr("_unknown_fields")?.extract::<Vec<u8>>()?;
unknown_fields.append(&mut buf);
obj.setattr("_unknown_fields", unknown_fields)?;
}
obj.setattr("_serialized_on_wire", true)?;
Ok(()) Ok(())
} }