MCPcopy Create free account
hub / github.com/atomicdotdev/atomic / read_frame

Function read_frame

atomic-cli/src/commands/agent/owner.rs:1327–1339  ·  view source on GitHub ↗
(stream: &mut S)

Source from the content-addressed store, hash-verified

1325}
1326
1327async fn read_frame<T, S>(stream: &mut S) -> anyhow::Result<T>
1328where
1329 T: for<'de> Deserialize<'de>,
1330 S: AsyncRead + Unpin,
1331{
1332 let length = stream.read_u32().await? as usize;
1333 if length == 0 || length > MAX_FRAME_BYTES {
1334 return Err(anyhow!("invalid database-owner frame length {length}"));
1335 }
1336 let mut payload = vec![0; length];
1337 stream.read_exact(&mut payload).await?;
1338 serde_json::from_slice(&payload).context("invalid database-owner JSON frame")
1339}
1340
1341async fn write_frame<T, S>(stream: &mut S, value: &T) -> anyhow::Result<()>
1342where

Callers 3

handle_connectionFunction · 0.85
exchangeFunction · 0.85

Calls 2

read_exactMethod · 0.80
contextMethod · 0.80

Tested by

no test coverage detected