forked from KNEMC/KLALB
KLALB2.3
This commit is contained in:
@@ -1,28 +1,43 @@
|
||||
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;
|
||||
|
||||
public class VADDRPacket extends KLALBPacket {
|
||||
private Inet6Address vaddr;
|
||||
public Inet6Address getVaddr() {
|
||||
return vaddr;
|
||||
byte[]b=new byte[16];
|
||||
header.get(1, b);
|
||||
try {
|
||||
return (Inet6Address) Inet6Address.getByAddress(b);
|
||||
} catch (UnknownHostException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public VADDRPacket(Inet6Address vaddr) {
|
||||
super(VADDR);
|
||||
this.vaddr=vaddr;
|
||||
header.put(1, vaddr.getAddress());
|
||||
}
|
||||
|
||||
public VADDRPacket() {
|
||||
super(VADDR);
|
||||
public VADDRPacket(ByteBuffer bb) {
|
||||
super(bb);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "VADDR "+vaddr.getHostAddress();
|
||||
return "VADDR "+getVaddr().getHostAddress();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getHeaderSize() {
|
||||
return super.getHeaderSize()+16;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -30,17 +45,4 @@ public class VADDRPacket extends KLALBPacket {
|
||||
return super.getLength()+16;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void writeToStream(DataOutput dto) throws IOException {
|
||||
super.writeToStream(dto);
|
||||
dto.write(vaddr.getAddress());
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void readFromStream(DataInput din) throws IOException {
|
||||
super.readFromStream(din);
|
||||
byte[]b=new byte[16];
|
||||
din.readFully(b);
|
||||
vaddr=(Inet6Address) Inet6Address.getByAddress(b);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user