Async Bi-directional Pipe
example:
```rust use anyhow::*; use bidirectionalpipe::pipe; use tokio::task::JoinHandle;
async fn main()->Result<()> {
let (left,right)=pipe();
let join:JoinHandle } ```loop {
if let Ok(v)=left.recv().await{
left.send(v+1);
}else {
break;
}
}
join.await??;
Ok(())