Files
KLALB/src/org/kne/cloud/network/klalb/VADDRPacket.java
T

42 lines
1.1 KiB
Java

package org.kne.cloud.network.klalb;
import java.io.DataInput;
import java.io.DataInputStream;
import java.io.DataOutput;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Inet6Address;
import java.net.UnknownHostException;
import java.nio.ByteBuffer;
import org.kne.cloud.network.ipv6.IPv6Address;
import org.kne.cloud.network.ipv6.IPv6AddressGroup;
public class VADDRPacket extends KLALBPacket {
private static final int HEADER_LENGTH=18;
public IPv6AddressGroup getVaddr() {
long high=klalbHeader.getLong(1);
long low=klalbHeader.getLong(9);
int perf=klalbHeader.get(17)&0xff;
return new IPv6AddressGroup(new IPv6Address(high, low), perf);
}
public VADDRPacket(IPv6AddressGroup vaddr) {
super(VADDR,HEADER_LENGTH);
klalbHeader.putLong(1, vaddr.getAddress().getHigh());
klalbHeader.putLong(9, vaddr.getAddress().getLow());
klalbHeader.put(17,(byte) vaddr.getPrefixLength());
}
public VADDRPacket(ByteBuffer bb) {
super(bb,HEADER_LENGTH);
}
@Override
public String toString() {
return "VADDR "+getVaddr();
}
}