INNER CODE UNIT · Rust
start_dataplane_serves_a_handed_over_fd
Augani/dory · dory-core/ffi/src/lib.rs:343
async fn start_dataplane_serves_a_handed_over_fd() {
use std::os::unix::io::IntoRawFd;
use std::sync::Mutex;
use tokio::io::{AsyncReadExt, AsyncWriteExt};
use tokio::net::{UnixListener, UnixStream};
let base = std::env::temp_dir();
let pid = std::process::id();
let sock = base.join(format!("dory-ffi-serve-{pid}.sock"));
let dockerd = base.join(format!("dory-ffi-dockerd-{pid}.sock"));
let _ = std::fs::remove_file(&sock);
let _ = std::fs::remove_file(&dockerd);
// Fake dockerd: record the request it receives, reply 201.
let dockerd_listener = UnixListener::bind(&dockerd).unwrap();
let captured = std::sync::Arc::new(Mutex::new(Vec::new()));
let cap = captured.clone();
tokio::spawn(async move {