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

Function encode_row

nodedb/src/control/cluster/array_executor.rs:461–475  ·  view source on GitHub ↗

Build a fake payload: fixarray[2], each element is a fixmap{id->str, data->fixmap{}} Row format: 0x82 (fixmap 2 entries) "id" -> "0000001a" "data" -> 0x80 (empty fixmap)

(hex: &str)

Source from the content-addressed store, hash-verified

459 // "id" -> "0000001a"
460 // "data" -> 0x80 (empty fixmap)
461 fn encode_row(hex: &str) -> Vec<u8> {
462 let mut v = vec![0x82u8]; // fixmap 2 entries
463 // "id" key
464 v.push(0xa2);
465 v.extend_from_slice(b"id");
466 // hex value as fixstr
467 let hb = hex.as_bytes();
468 v.push(0xa0 | hb.len() as u8);
469 v.extend_from_slice(hb);
470 // "data" key
471 v.push(0xa4);
472 v.extend_from_slice(b"data");
473 v.push(0x80); // empty fixmap
474 v
475 }
476
477 let row1 = encode_row("0000001a"); // 26
478 let row2 = encode_row("0000002b"); // 43

Callers 1

Calls 3

pushMethod · 0.45
as_bytesMethod · 0.45
lenMethod · 0.45

Tested by 1