use tokio::io::AsyncWriteExt;
pub async fn peer_to_tcp(
_remote_id: &str,
addr: &str,
send: &mut iroh::endpoint::SendStream,
recv: ftnet_utils::FrameReader,
) -> eyre::Result<()> {
let stream = tokio::net::TcpStream::connect(addr).await?;
let (mut tcp_recv, tcp_send) = tokio::io::split(stream);
let t = tokio::spawn(async move {
let mut t = tcp_send;
t.write_all(recv.read_buffer().as_ref()).await?;
let mut recv = recv.into_inner();
tokio::io::copy(&mut recv, &mut t).await
});
tokio::io::copy(&mut tcp_recv, send).await?;
Ok(t.await?.map(|_| ())?)
}