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

Function extract_stamps

nodedb/src/event/bitemporal_extract.rs:32–45  ·  view source on GitHub ↗

Extract `(system_time_ms, valid_time_ms)` from a serialized row payload. See module docs for the contract.

(payload: Option<&[u8]>)

Source from the content-addressed store, hash-verified

30/// Extract `(system_time_ms, valid_time_ms)` from a serialized row
31/// payload. See module docs for the contract.
32pub fn extract_stamps(payload: Option<&[u8]>) -> (Option<i64>, Option<i64>) {
33 let bytes = match payload {
34 Some(b) => b,
35 None => return (None, None),
36 };
37 let map = match deserialize_event_payload(bytes) {
38 Some(m) => m,
39 None => return (None, None),
40 };
41 (
42 extract_i64(&map, TS_SYSTEM),
43 extract_i64(&map, TS_VALID_FROM),
44 )
45}
46
47fn extract_i64(map: &serde_json::Map<String, serde_json::Value>, key: &str) -> Option<i64> {
48 map.get(key).and_then(|v| v.as_i64())

Callers 9

emit_deferred_eventsMethod · 0.85
emit_write_eventMethod · 0.85
parse_put_recordFunction · 0.85
write_eventFunction · 0.85

Calls 2

extract_i64Function · 0.70