summary refs log tree commit diff
path: root/src/libstd
diff options
context:
space:
mode:
authorJeff Olson <olson.jeffery@gmail.com>2012-05-05 09:21:19 -0700
committerBrian Anderson <banderson@mozilla.com>2012-05-22 22:29:16 -0700
commitf2fd3bcf1740dfb1c8802ef0586b1c38ab171caa (patch)
treeacea4a107a42c9da64b1e69084a9243bf161e480 /src/libstd
parent64048d43d6d71d022b8324b36b5132df4099e2ae (diff)
downloadrust-f2fd3bcf1740dfb1c8802ef0586b1c38ab171caa.tar.gz
rust-f2fd3bcf1740dfb1c8802ef0586b1c38ab171caa.zip
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
Diffstat (limited to 'src/libstd')
-rw-r--r--src/libstd/net_ip.rs4
1 files changed, 4 insertions, 0 deletions
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";
+      }
     }
 }