ctf_pwn/io/pipe/convert/
tcp.rs1use crate::io::Pipe;
2use tokio::{
3 io::Result,
4 net::{tcp::*, *},
5};
6
7pub type TcpPipe = Pipe<OwnedReadHalf, OwnedWriteHalf>;
8
9impl TcpPipe {
10 pub async fn connect<A: ToSocketAddrs>(addr: A) -> Result<TcpPipe> {
11 let stream = TcpStream::connect(addr).await?;
12 Ok(stream.into())
13 }
14}
15
16impl From<TcpStream> for TcpPipe {
17 fn from(value: TcpStream) -> Self {
18 let (read_stream, write_stream) = value.into_split();
19 Pipe::new(read_stream, write_stream)
20 }
21}