mod network {
    pub struct Address(pub u8, pub u8, pub u8, pub u8);
    pub struct Port {
        pub protocol: String,
        pub port: u16,
    }

    impl Address {
        pub fn new(a: u8, b: u8, c: u8, d: u8) -> Self {
            Address(a, b, c, d)
        }
    }
}


fn main() {
    let addr = network::Address(192, 168, 1, 1);
    println!("Address: {}.{}.{}.{}", addr.0, addr.1, addr.2, addr.3);
    let port = network::Port { protocol: String::from("TCP"), port: 8080 };
    println!("Port: {} {}", port.protocol, port.port);
}