flow_record_common/
record_descriptor.rs1use rmpv::Value;
2
3use crate::RecordField;
4
5#[derive(Clone, Eq, PartialEq, Debug, Hash)]
6pub struct RecordDescriptor {
7 name: String,
8 fields: Vec<RecordField>,
9}
10
11impl RecordDescriptor {
12 pub const fn new(name: String, fields: Vec<RecordField>) -> Self {
13 Self { name, fields }
14 }
15}
16
17impl From<RecordDescriptor> for Value {
18 fn from(value: RecordDescriptor) -> Self {
19 Value::Array(vec![
20 Value::String(value.name.into()),
21 Value::Array(value.fields.into_iter().map(Value::from).collect()),
22 ])
23 }
24}