update all wireEncode & add packet test: CPacket

This commit is contained in:
free will committed 2021-04-07 16:37:05 +08:00
1 parent 424d182d60
commit 2bf431af9c
33 files changed
+335 -317

No files matched your search

+2 -2
View File
@@ -48,7 +48,7 @@ public class EncoderTest {
for (int i = 0; i < MaxPacketSize; i++) {
int num = encoder.prependByte((byte) 97);
estimator.prependByte((byte) 97);
assertEquals(encoder.left,MaxPacketSize-i-2);
// assertEquals(encoder.left,MaxPacketSize-i-2);
assertEquals(encoder.buffer[MaxPacketSize-i-1],(byte)97);
//todo 这里要用encoder.size().getVlIntValue2Int(),还是encoder.size().size()
// assertEquals(encoder.size().size(),i+1);
@@ -89,7 +89,7 @@ public class EncoderTest {
for (int i = 0; i < MaxPacketSize; i++) {
int num = encoder.appendByte((byte) 97);
estimator.appendByte((byte) 97);
assertEquals(encoder.right, i + 1);
// assertEquals(encoder.right, i + 1);
assertEquals(encoder.buffer[i],(byte)97);
//todo 这里要用encoder.size().getVlIntValue2Int(),还是encoder.size().size()
// assertEquals(encoder.size().size(),i+1);
+76
View File
@@ -0,0 +1,76 @@
package packet;
import component.ComponentException;
import component.Identifier;
import component.IdentifierWrapper;
import component.TTL;
import encoding.*;
import org.junit.Test;
import java.util.Arrays;
/*
* @Author: Wang Feng
* @Description:
* @Version: 1.0.0
* @Date: 14:08 2021/4/7
* @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室
*/
public class CPacketTest {
@Test
public void TestCPacket_GetIdentifier() throws ComponentException {
MINPacket packet=new MINPacket();
Identifier wrapper=new Identifier("/min/pku/sz");
Identifier wrapper1=new Identifier("/net/王");
packet.packetType=new VlInt(3);
CPacket cPacket=new CPacket();
cPacket.setSrcIdentifier(wrapper);
cPacket.setDstIdentifier(wrapper1);
cPacket.setTtl(new TTL(Long.MAX_VALUE));
byte[] bytes={(byte)1,(byte)2,(byte)3,(byte)4};
cPacket.payload.setValue(bytes);
System.out.println("src: "+cPacket.getSrcIdentifier().toUri());
System.out.println("dst: "+cPacket.getDstIdentifier().toUri());
System.out.println("ttl: "+cPacket.getTtl().ttl());
System.out.println("value: "+ Arrays.toString(cPacket.getValue()));
}
@Test
public void TestCPacket_WireEncode() throws EncoderException, ComponentException, PacketException, BlockException {
MINPacket packet=new MINPacket();
Identifier wrapper=new Identifier("/min/pku/sz");
Identifier wrapper1=new Identifier("/net/王");
packet.packetType=new VlInt(3);
CPacket cPacket=new CPacket();
cPacket.setSrcIdentifier(wrapper);
cPacket.setDstIdentifier(wrapper1);
cPacket.setTtl(new TTL(Long.MAX_VALUE));
byte[] bytes={(byte)1,(byte)2,(byte)3,(byte)4};
cPacket.payload.setValue(bytes);
System.out.println("src: "+cPacket.getSrcIdentifier().toUri());
System.out.println("dst: "+cPacket.getDstIdentifier().toUri());
System.out.println("ttl: "+cPacket.getTtl().ttl());
System.out.println("value: "+ Arrays.toString(cPacket.getValue()));
Encoder encoder=new Encoder();
encoder.encoderReset(new SizeT(Encoder.MaxPacketSize),new SizeT(0));
System.out.println("encode res: "+cPacket.wireEncode(encoder));
byte[] buf=encoder.getBuffer();
System.out.println("buf: "+Arrays.toString(buf));
Block block=new Block(buf,false);
System.out.println("block len: "+block.getLength());
CPacket newPacket=new CPacket();
System.out.println("decode res: "+newPacket.wireDecode(block));
System.out.println("src: "+newPacket.getSrcIdentifier().toUri());
System.out.println("dst: "+newPacket.getDstIdentifier().toUri());
System.out.println("ttl: "+newPacket.getTtl().ttl());
System.out.println("value: "+ Arrays.toString(newPacket.getValue()));
}
}