+++ /dev/null
-#ifdef WIN32
-#include <winsock2.h>
-#else
-#include <netinet/in.h>
-#endif
-#include <msp/strings/format.h>
-#include "inet.h"
-#include "sockaddr_private.h"
-
-using namespace std;
-
-namespace Msp {
-namespace Net {
-
-InetAddr::InetAddr():
- port(0)
-{
- fill(addr, addr+4, 0);
-}
-
-InetAddr::InetAddr(const SysAddr &sa)
-{
- const sockaddr_in &sai = reinterpret_cast<const sockaddr_in &>(sa.addr);
- addr[0] = sai.sin_addr.s_addr>>24;
- addr[1] = sai.sin_addr.s_addr>>16;
- addr[2] = sai.sin_addr.s_addr>>8;
- addr[3] = sai.sin_addr.s_addr;
- port = ntohs(sai.sin_port);
-}
-
-SockAddr::SysAddr InetAddr::to_sys() const
-{
- SysAddr sa;
- sa.size = sizeof(sockaddr_in);
- sockaddr_in &sai = reinterpret_cast<sockaddr_in &>(sa.addr);
- sai.sin_family = AF_INET;
- sai.sin_addr.s_addr = (addr[0]<<24) | (addr[1]<<16) | (addr[2]<<8) | (addr[3]);
- sai.sin_port = htons(port);
-
- return sa;
-}
-
-string InetAddr::str() const
-{
- string result = format("%d.%d.%d.%d", addr[0], addr[1], addr[2], addr[3]);
- if(port)
- result += format(":%d", port);
- return result;
-}
-
-} // namespace Net
-} // namespace Msp