blob: 9c3462e3468cd87aff48b27b049461c32f16792e [file] [log] [blame]
use super::tcp4;
use crate::io;
use crate::net::SocketAddr;
pub(crate) enum Tcp {
V4(tcp4::Tcp4),
}
impl Tcp {
pub(crate) fn connect(addr: &SocketAddr) -> io::Result<Self> {
match addr {
SocketAddr::V4(x) => {
let temp = tcp4::Tcp4::new()?;
temp.configure(true, Some(x), None)?;
temp.connect()?;
Ok(Tcp::V4(temp))
}
SocketAddr::V6(_) => todo!(),
}
}
pub(crate) fn write(&self, buf: &[u8]) -> io::Result<usize> {
match self {
Self::V4(client) => client.write(buf),
}
}
}