summary refs log tree commit diff
path: root/src/libstd/io/net/mod.rs
blob: 54af83462eed6dd35a3c8272f42ed0b41164e625 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// http://rust-lang.org/COPYRIGHT.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.

//! Networking I/O

use rt::rtio;
use self::ip::{Ipv4Addr, Ipv6Addr, IpAddr};

pub use self::addrinfo::get_host_addresses;

pub mod addrinfo;
pub mod tcp;
pub mod udp;
pub mod ip;
// FIXME(#12093) - this should not be called unix
pub mod unix;

fn to_rtio(ip: IpAddr) -> rtio::IpAddr {
    match ip {
        Ipv4Addr(a, b, c, d) => rtio::Ipv4Addr(a, b, c, d),
        Ipv6Addr(a, b, c, d, e, f, g, h) => {
            rtio::Ipv6Addr(a, b, c, d, e, f, g, h)
        }
    }
}

fn from_rtio(ip: rtio::IpAddr) -> IpAddr {
    match ip {
        rtio::Ipv4Addr(a, b, c, d) => Ipv4Addr(a, b, c, d),
        rtio::Ipv6Addr(a, b, c, d, e, f, g, h) => {
            Ipv6Addr(a, b, c, d, e, f, g, h)
        }
    }
}