From f2fd3bcf1740dfb1c8802ef0586b1c38ab171caa Mon Sep 17 00:00:00 2001 From: Jeff Olson Date: Sat, 5 May 2012 09:21:19 -0700 Subject: [PATCH] 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 --- src/libstd/net_ip.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/libstd/net_ip.rs b/src/libstd/net_ip.rs index 7bc0d30d593..4b66f3f678c 100644 --- a/src/libstd/net_ip.rs +++ b/src/libstd/net_ip.rs @@ -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"; + } } }