KLALB UDP TEST
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
package org.kne.cloud.network.klalb;
|
||||
import static org.kne.cloud.network.klalb.KLALBPacket.*;
|
||||
|
||||
import java.io.DataInput;
|
||||
import java.io.DataInputStream;
|
||||
import java.io.EOFException;
|
||||
import java.io.IOException;
|
||||
@@ -21,49 +23,68 @@ public class KLALBInputStream extends DataInputStream {
|
||||
if(bv!=2)
|
||||
throw new StreamCorruptedException("remote version is V"+bv+"."+sv+",not V2.0");
|
||||
}
|
||||
public synchronized KLALBPacket readPacket() throws IOException {
|
||||
int type=read();
|
||||
public KLALBPacket readPacket() throws IOException {
|
||||
return readKLALBPacketFromStream(this);
|
||||
}
|
||||
public static KLALBPacket readKLALBPacketFromStream(DataInputStream in) throws IOException {
|
||||
int type=in.read();
|
||||
|
||||
if(type==-1) {
|
||||
throw new EOFException();
|
||||
return null;
|
||||
}
|
||||
KLALBPacket klp;
|
||||
switch(type) {
|
||||
case PING:klp=new PINGPacket();
|
||||
klp.readFromStream(this);
|
||||
klp.readFromStream(in);
|
||||
return klp;
|
||||
case PONG:
|
||||
klp=new PONGPacket();
|
||||
klp.readFromStream(this);
|
||||
klp.readFromStream(in);
|
||||
return klp;
|
||||
case SYNT:
|
||||
klp=new SYNTPacket();
|
||||
klp.readFromStream(this);
|
||||
klp.readFromStream(in);
|
||||
return klp;
|
||||
case SACKT:
|
||||
klp=new SACKTPacket();
|
||||
klp.readFromStream(this);
|
||||
klp.readFromStream(in);
|
||||
return klp;
|
||||
case RST:
|
||||
klp=new RSTPacket();
|
||||
klp.readFromStream(this);
|
||||
klp.readFromStream(in);
|
||||
return klp;
|
||||
case DATAT:
|
||||
klp=new DATATPacket();
|
||||
klp.readFromStream(this);
|
||||
klp.readFromStream(in);
|
||||
return klp;
|
||||
case ACKT:
|
||||
klp=new ACKTPacket();
|
||||
klp.readFromStream(this);
|
||||
klp.readFromStream(in);
|
||||
return klp;
|
||||
case VADDR:
|
||||
klp=new VADDRPacket();
|
||||
klp.readFromStream(this);
|
||||
klp.readFromStream(in);
|
||||
return klp;
|
||||
case LINES:
|
||||
klp=new LINESPacket();
|
||||
klp.readFromStream(this);
|
||||
case ADDLINES:
|
||||
klp=new ADDLINESPacket();
|
||||
klp.readFromStream(in);
|
||||
return klp;
|
||||
case NACKT:
|
||||
klp=new NACKTPacket();
|
||||
klp.readFromStream(in);
|
||||
return klp;
|
||||
case TEST:
|
||||
klp=new TESTPacket();
|
||||
klp.readFromStream(in);
|
||||
return klp;
|
||||
case VADDRACK:
|
||||
klp=new VADDRACKPacket();
|
||||
klp.readFromStream(in);
|
||||
return klp;
|
||||
case VADDRREQ:
|
||||
klp=new VADDRREQPacket();
|
||||
klp.readFromStream(in);
|
||||
return klp;
|
||||
}
|
||||
throw new StreamCorruptedException("unknown package type:"+type);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user