std: FIXME stub net::ip::ip_addr::ipv6 variant...needs parse/format impl

still need implementation for parsing/output formatting and (perhaps?)
representation (for now, i just followef the ipv4 variant's lead and
am representing it as a tuple of 8x u16).

parsing an ipv6 addr is way more complex than parsing an ipv4 addr, so
i'm putting off an implementation here, for now.

candidate solutions:
- could use getaddrinfo() (exists on both POSIX and windows), but with
incompatible fn signatures.
- libuv has a way to parse an ipv6 string into
a sockaddr_in6, but it also requires a port, so it's probably not aprop
for ip_addr
This commit is contained in:
Jeff Olson 2012-05-05 09:21:19 -07:00 committed by Brian Anderson
parent 64048d43d6
commit f2fd3bcf17

View File

@ -14,6 +14,7 @@ export v4;
enum ip_addr {
#[doc="An IPv4 address"]
ipv4(u8, u8, u8, u8),
ipv6(u16,u16,u16,u16,u16,u16,u16,u16)
}
#[doc="
@ -28,6 +29,9 @@ fn format_addr(ip: ip_addr) -> str {
ipv4(a, b, c, d) {
#fmt["%u.%u.%u.%u", a as uint, b as uint, c as uint, d as uint]
}
ipv6(a,b,c,d,e,f,g,h) {
fail "FIXME impl parsing of ipv6 addr";
}
}
}