1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
use std::net::TcpStream; use std::io::Result; #[derive(Clone)] pub enum StreamConnector { Tcp } impl Default for StreamConnector { fn default() -> Self { StreamConnector::Tcp } } impl StreamConnector { pub fn connect(&self, hostname: &str, port: u16) -> Result<TcpStream> { match *self { StreamConnector::Tcp => { TcpStream::connect((hostname, port)) } } } }