KLALB UDP TEST

This commit is contained in:
Administrator
2024-01-30 16:54:09 +08:00
parent 722ab9710f
commit b4fccf3a03
67 changed files with 1977 additions and 929 deletions
@@ -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);
}