(stream: &mut S, value: &T)
| 1339 | } |
| 1340 | |
| 1341 | async fn write_frame<T, S>(stream: &mut S, value: &T) -> anyhow::Result<()> |
| 1342 | where |
| 1343 | T: Serialize, |
| 1344 | S: AsyncWrite + Unpin, |
| 1345 | { |
| 1346 | let payload = serde_json::to_vec(value)?; |
| 1347 | if payload.len() > MAX_FRAME_BYTES { |
| 1348 | return Err(anyhow!("database-owner frame exceeds size limit")); |
| 1349 | } |
| 1350 | stream.write_u32(payload.len() as u32).await?; |
| 1351 | stream.write_all(&payload).await?; |
| 1352 | stream.flush().await?; |
| 1353 | Ok(()) |
| 1354 | } |
| 1355 | |
| 1356 | fn endpoint_name(dot_dir: &Path) -> String { |
| 1357 | let canonical = std::fs::canonicalize(dot_dir).unwrap_or_else(|_| dot_dir.to_path_buf()); |
no test coverage detected