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

Function write_str

nodedb/src/data/executor/msgpack_utils.rs:4–19  ·  view source on GitHub ↗

Write a msgpack string header + bytes into `buf`.

(buf: &mut Vec<u8>, s: &str)

Source from the content-addressed store, hash-verified

2
3/// Write a msgpack string header + bytes into `buf`.
4pub(super) fn write_str(buf: &mut Vec<u8>, s: &str) {
5 let len = s.len();
6 if len < 32 {
7 buf.push(0xA0 | len as u8);
8 } else if len <= u8::MAX as usize {
9 buf.push(0xD9);
10 buf.push(len as u8);
11 } else if len <= u16::MAX as usize {
12 buf.push(0xDA);
13 buf.extend_from_slice(&(len as u16).to_be_bytes());
14 } else {
15 buf.push(0xDB);
16 buf.extend_from_slice(&(len as u32).to_be_bytes());
17 }
18 buf.extend_from_slice(s.as_bytes());
19}

Callers 3

scan_columnarMethod · 0.70
maybe_wrap_kv_point_getFunction · 0.50
rows_to_msgpackFunction · 0.50

Calls 3

lenMethod · 0.45
pushMethod · 0.45
as_bytesMethod · 0.45

Tested by

no test coverage detected