MCPcopy Create free account
hub / github.com/NodeDB-Lab/nodedb / write

Method write

nodedb/src/event/cdc/event.rs:74–121  ·  view source on GitHub ↗
(&self, writer: &mut W)

Source from the content-addressed store, hash-verified

72
73impl zerompk::ToMessagePack for CdcEvent {
74 fn write<W: zerompk::Write>(&self, writer: &mut W) -> zerompk::Result<()> {
75 let field_count = 9
76 + usize::from(self.new_value.is_some())
77 + usize::from(self.old_value.is_some())
78 + usize::from(self.field_diffs.is_some())
79 + usize::from(self.system_time_ms.is_some())
80 + usize::from(self.valid_time_ms.is_some());
81 writer.write_map_len(field_count)?;
82 writer.write_string("sequence")?;
83 writer.write_u64(self.sequence)?;
84 writer.write_string("partition")?;
85 writer.write_u32(self.partition)?;
86 writer.write_string("collection")?;
87 writer.write_string(&self.collection)?;
88 writer.write_string("op")?;
89 writer.write_string(&self.op)?;
90 writer.write_string("row_id")?;
91 writer.write_string(&self.row_id)?;
92 writer.write_string("event_time")?;
93 writer.write_u64(self.event_time)?;
94 writer.write_string("lsn")?;
95 writer.write_u64(self.lsn)?;
96 writer.write_string("tenant_id")?;
97 writer.write_u64(self.tenant_id)?;
98 writer.write_string("schema_version")?;
99 writer.write_u64(self.schema_version)?;
100 if let Some(ref v) = self.new_value {
101 writer.write_string("new_value")?;
102 JsonValue(v.clone()).write(writer)?;
103 }
104 if let Some(ref v) = self.old_value {
105 writer.write_string("old_value")?;
106 JsonValue(v.clone()).write(writer)?;
107 }
108 if let Some(ref diffs) = self.field_diffs {
109 writer.write_string("field_diffs")?;
110 diffs.write(writer)?;
111 }
112 if let Some(ts) = self.system_time_ms {
113 writer.write_string("system_time_ms")?;
114 writer.write_i64(ts)?;
115 }
116 if let Some(ts) = self.valid_time_ms {
117 writer.write_string("valid_time_ms")?;
118 writer.write_i64(ts)?;
119 }
120 Ok(())
121 }
122}
123
124impl<'a> zerompk::FromMessagePack<'a> for CdcEvent {

Callers 15

apply_surrogate_bindFunction · 0.45
apply_surrogate_allocFunction · 0.45
make_test_parquetFunction · 0.45
encode_and_uploadMethod · 0.45
record_failureMethod · 0.45
record_successMethod · 0.45
rebuild_from_storeMethod · 0.45
rebuild_from_dirMethod · 0.45
load_array_catalogFunction · 0.45
spawn_background_loopsFunction · 0.45
advanceMethod · 0.45

Calls 2

JsonValueClass · 0.85
cloneMethod · 0.45