]> git.tdb.fi Git - libs/net.git/blobdiff - source/net/inet6.cpp
Add a dynamic receiver class for more flexible packet handling
[libs/net.git] / source / net / inet6.cpp
index 8ddf1d5cb52248e771dc3e602f75c45f6de16700..1b8fc39ce2628bd793a2148723e2e33868a1ad64 100644 (file)
@@ -1,6 +1,7 @@
+#include "inet6.h"
 #include "platform_api.h"
 #include <msp/strings/format.h>
-#include "inet6.h"
+#include <msp/strings/utils.h>
 #include "sockaddr_private.h"
 
 using namespace std;
@@ -15,6 +16,21 @@ Inet6Addr::Inet6Addr(const SysAddr &sa)
        port = htons(sai6.sin6_port);
 }
 
+Inet6Addr Inet6Addr::wildcard(unsigned port)
+{
+       Inet6Addr addr;
+       addr.port = port;
+       return addr;
+}
+
+Inet6Addr Inet6Addr::localhost(unsigned port)
+{
+       Inet6Addr addr;
+       addr.addr[15] = 1;
+       addr.port = port;
+       return addr;
+}
+
 SockAddr::SysAddr Inet6Addr::to_sys() const
 {
        SysAddr sa;
@@ -34,9 +50,9 @@ string Inet6Addr::str() const
        string result = "[";
        for(unsigned i=0; i<16; i+=2)
        {
-               unsigned short part = (addr[i]<<8) | addr[i+1];
                if(i>0)
                        result += ':';
+               unsigned short part = (addr[i]<<8) | addr[i+1];
                result += format("%x", part);
        }
        result += ']';