use std::net::{TcpStream, ToSocketAddrs};
use anyhow::Result;
use crate::RwBuilder;
#[derive(Debug)]
pub struct Builder<A>
where
A: ToSocketAddrs,
{
addr: A,
}
impl<A> Builder<A>
where
A: ToSocketAddrs,
{
pub const fn new(addr: A) -> Self {
Self { addr }
}
}
impl<A> RwBuilder for Builder<A>
where
A: ToSocketAddrs,
{
type Reader = TcpStream;
type Writer = TcpStream;
fn reader(&self) -> Result<Self::Reader> {
let stream = TcpStream::connect(&self.addr)?;
Ok(stream)
}
fn writer(&self) -> Result<Self::Writer> {
let stream = TcpStream::connect(&self.addr)?;
Ok(stream)
}
}