MCPcopy Create free account
hub / github.com/f0rr0/oliphaunt / execute

Method execute

src/protocol/serializer.rs:230–254  ·  view source on GitHub ↗
(config: Option<&ExecConfig>)

Source from the content-addressed store, hash-verified

228 }
229
230 pub fn execute(config: Option<&ExecConfig>) -> Vec<u8> {
231 let Some(cfg) = config else {
232 return vec![CODE_EXECUTE, 0, 0, 0, 9, 0, 0, 0, 0, 0];
233 };
234
235 if cfg.portal.as_ref().is_none_or(|p| p.is_empty()) && cfg.rows.unwrap_or(0) == 0 {
236 return vec![CODE_EXECUTE, 0, 0, 0, 9, 0, 0, 0, 0, 0];
237 }
238
239 let portal = cfg.portal.as_deref().unwrap_or("");
240 let rows = cfg.rows.unwrap_or(0);
241
242 let portal_length = byte_length_utf8(portal);
243 let len = 4 + portal_length + 1 + 4;
244 let mut buffer = vec![0u8; 1 + len];
245 buffer[0] = CODE_EXECUTE;
246 let len_bytes = (len as i32).to_be_bytes();
247 buffer[1..5].copy_from_slice(&len_bytes);
248 buffer[5..5 + portal_length].copy_from_slice(portal.as_bytes());
249 buffer[5 + portal_length] = 0;
250 let row_bytes = rows.to_be_bytes();
251 let end = buffer.len();
252 buffer[end - 4..].copy_from_slice(&row_bytes);
253 buffer
254 }
255
256 pub fn describe(target: &PortalTarget) -> Vec<u8> {
257 let mut writer = BufferWriter::default();

Calls 2

byte_length_utf8Function · 0.85
lenMethod · 0.80

Tested by

no test coverage detected