package org.limewire.io; import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.UnknownHostException; import org.limewire.util.ByteUtils; class MemoryOptimizedIpPortImpl implements IpPort { private int addr; private short shortport; public MemoryOptimizedIpPortImpl(IP ip, short shortport) { this.addr = ip.addr; this.shortport = shortport; } public InetSocketAddress getInetSocketAddress() { return new InetSocketAddress(getInetAddress(), getPort()); } public InetAddress getInetAddress() { byte[] baddr = new byte[4]; ByteUtils.int2beb(addr, baddr, 0); try { return InetAddress.getByAddress(baddr); } catch(UnknownHostException uhe) { throw new RuntimeException(uhe); } } public String getAddress() { return ((addr >> 24) & 0xFF) + "." + ((addr >> 16) & 0xFF) + "." + ((addr >> 8) & 0xFF) + "." + ( addr & 0xFF); } public int getPort() { return ByteUtils.ushort2int(shortport); } @Override public String toString() { return "host: " + getAddress() + ", port: " + getPort(); } }