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

Function startup_message

nodedb/tests/pgwire_tls_e2e.rs:124–142  ·  view source on GitHub ↗

Build a pgwire v3 StartupMessage for `user=nodedb, database=nodedb`.

()

Source from the content-addressed store, hash-verified

122
123/// Build a pgwire v3 StartupMessage for `user=nodedb, database=nodedb`.
124fn startup_message() -> Vec<u8> {
125 let mut params: Vec<u8> = Vec::new();
126 for (k, v) in &[("user", "nodedb"), ("database", "nodedb")] {
127 params.extend_from_slice(k.as_bytes());
128 params.push(0);
129 params.extend_from_slice(v.as_bytes());
130 params.push(0);
131 }
132 params.push(0); // trailing null
133
134 // Total length = 4 (length field) + 4 (protocol version) + params length.
135 let total_len = 4u32 + 4u32 + params.len() as u32;
136 let mut msg = Vec::with_capacity(total_len as usize);
137 msg.extend_from_slice(&total_len.to_be_bytes());
138 // Protocol version 3.0: major=3, minor=0 → 0x00_03_00_00
139 msg.extend_from_slice(&196608u32.to_be_bytes());
140 msg.extend_from_slice(&params);
141 msg
142}
143
144/// Build a pgwire simple Query message.
145fn query_message(sql: &str) -> Vec<u8> {

Callers 1

Calls 3

as_bytesMethod · 0.45
pushMethod · 0.45
lenMethod · 0.45

Tested by

no test coverage detected