Merge remote-tracking branch 'origin/master'

This commit is contained in:
ChessNineeee
2021-04-08 16:38:17 +08:00
32 changed files with 571 additions and 19 deletions
@@ -0,0 +1,37 @@
package component;
import encoding.*;
import org.junit.Test;
import java.util.Arrays;
/*
* @Author: Wang Feng
* @Description:
* @Version: 1.0.0
* @Date: 14:03 2021/4/8
* @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室
*/
public class LpPacketFragmentIdTest {
@Test
public void testLpPacketFragmentIdEncoderAndDecode() throws EncoderException, ComponentException, BlockException {
LpPacketFragmentId lpPacketFragmentId=new LpPacketFragmentId(Long.MAX_VALUE);
System.out.println("value: "+lpPacketFragmentId.getId());
System.out.println("ini: "+lpPacketFragmentId.isInitial());
Encoder encoder = new Encoder();
encoder.encoderReset(new SizeT(Encoder.MaxPacketSize), new SizeT(0));
System.out.println("encode res: "+lpPacketFragmentId.wireEncode(encoder));
byte[] buf=encoder.getBuffer();
System.out.println("buf: "+ Arrays.toString(buf));
Block block=new Block(buf,false);
LpPacketFragmentId newId=new LpPacketFragmentId();
System.out.println("decode res: "+newId.wireDecode(block));
System.out.println("new value: "+newId.getId());
System.out.println("new ini: "+newId.isInitial());
encoder.encoderReset(new SizeT(Encoder.MaxPacketSize), new SizeT(0));
newId.wireEncode(encoder);
System.out.println("new buf: "+Arrays.toString(encoder.getBuffer()));
}
}
@@ -0,0 +1,37 @@
package component;
import encoding.*;
import org.junit.Test;
import java.util.Arrays;
/*
* @Author: Wang Feng
* @Description:
* @Version: 1.0.0
* @Date: 14:03 2021/4/8
* @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室
*/
public class LpPacketFragmentNumTest {
@Test
public void testLpPacketFragmentNumEncoderAndDecode() throws EncoderException, ComponentException, BlockException {
LpPacketFragmentNum lpPacketFragmentNum=new LpPacketFragmentNum(Long.MAX_VALUE);
System.out.println("value: "+lpPacketFragmentNum.getFragmentNum());
System.out.println("ini: "+lpPacketFragmentNum.isInitial());
Encoder encoder = new Encoder();
encoder.encoderReset(new SizeT(Encoder.MaxPacketSize), new SizeT(0));
System.out.println("encode res: "+lpPacketFragmentNum.wireEncode(encoder));
byte[] buf=encoder.getBuffer();
System.out.println("buf: "+ Arrays.toString(buf));
Block block=new Block(buf,false);
LpPacketFragmentNum newNum=new LpPacketFragmentNum();
System.out.println("decode res: "+newNum.wireDecode(block));
System.out.println("new value: "+newNum.getFragmentNum());
System.out.println("new ini: "+newNum.isInitial());
encoder.encoderReset(new SizeT(Encoder.MaxPacketSize), new SizeT(0));
newNum.wireEncode(encoder);
System.out.println("new buf: "+Arrays.toString(encoder.getBuffer()));
}
}
@@ -0,0 +1,37 @@
package component;
import encoding.*;
import org.junit.Test;
import java.util.Arrays;
/*
* @Author: Wang Feng
* @Description:
* @Version: 1.0.0
* @Date: 14:03 2021/4/8
* @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室
*/
public class LpPacketFragmentSeqTest {
@Test
public void testLpPacketFragmentSeqEncoderAndDecode() throws EncoderException, ComponentException, BlockException {
LpPacketFragmentSeq lpPacketFragmentSeq=new LpPacketFragmentSeq(Long.MAX_VALUE);
System.out.println("value: "+lpPacketFragmentSeq.getFragmentSeq());
System.out.println("ini: "+lpPacketFragmentSeq.isInitial());
Encoder encoder = new Encoder();
encoder.encoderReset(new SizeT(Encoder.MaxPacketSize), new SizeT(0));
System.out.println("encode res: "+lpPacketFragmentSeq.wireEncode(encoder));
byte[] buf=encoder.getBuffer();
System.out.println("buf: "+ Arrays.toString(buf));
Block block=new Block(buf,false);
LpPacketFragmentSeq newSeq=new LpPacketFragmentSeq();
System.out.println("decode res: "+newSeq.wireDecode(block));
System.out.println("new value: "+newSeq.getFragmentSeq());
System.out.println("new ini: "+newSeq.isInitial());
encoder.encoderReset(new SizeT(Encoder.MaxPacketSize), new SizeT(0));
newSeq.wireEncode(encoder);
System.out.println("new buf: "+Arrays.toString(encoder.getBuffer()));
}
}
@@ -0,0 +1,34 @@
package component;
import encoding.*;
import org.junit.Test;
import java.util.Arrays;
/*
* @Author: Wang Feng
* @Description:
* @Version: 1.0.0
* @Date: 14:19 2021/4/8
* @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室
*/
public class LpPacketHeaderTest {
@Test
public void testLpPacketFragmentSeqEncoderAndDecode() throws EncoderException, ComponentException, BlockException {
LpPacketHeader lpPacketHeader=new LpPacketHeader(new LpPacketFragmentId(Long.MAX_VALUE),
new LpPacketFragmentNum(Long.MAX_VALUE),new LpPacketFragmentSeq(Long.MAX_VALUE));
Encoder encoder = new Encoder();
encoder.encoderReset(new SizeT(Encoder.MaxPacketSize), new SizeT(0));
System.out.println("encode res: "+lpPacketHeader.wireEncode(encoder));
byte[] buf=encoder.getBuffer();
System.out.println("buf: "+ Arrays.toString(buf));
Block block=new Block(buf,false);
LpPacketHeader newHeader=new LpPacketHeader();
System.out.println("decode res: "+newHeader.wireDecode(block));
encoder.encoderReset(new SizeT(Encoder.MaxPacketSize), new SizeT(0));
newHeader.wireEncode(encoder);
System.out.println("new buf: "+Arrays.toString(encoder.getBuffer()));
}
}
+13
View File
@@ -38,6 +38,19 @@ public class CPacketTest {
System.out.println("value: "+ Arrays.toString(cPacket.getValue()));
}
/**
* CPacket wireEncode:
* [5, 61,
* 50, 37,
* 102, 19, 101, 17, 100, 4, 0, 109, 105, 110, 100, 4, 0, 112, 107, 117, 100, 3, 0, 115, 122,
* 102, 14, 101, 12, 100, 4, 0, 110, 101, 116, 100, 4, 0, -25, -114, -117,
* 52, 6, -52, 4, 1, 2, 3, 4,
* 53, 12, 55, 10, -44, 8, 127, -1, -1, -1, -1, -1, -1, -1]
* @throws EncoderException
* @throws ComponentException
* @throws PacketException
* @throws BlockException
*/
@Test
public void TestCPacket_WireEncode() throws EncoderException, ComponentException, PacketException, BlockException {
MINPacket packet=new MINPacket();
+69
View File
@@ -0,0 +1,69 @@
package packet;
import component.ComponentException;
import component.Identifier;
import encoding.*;
import org.junit.Test;
import java.util.Arrays;
/*
* @Author: Wang Feng
* @Description:
* @Version: 1.0.0
* @Date: 21:19 2021/4/7
* @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室
*/
public class DataTest {
@Test
public void TestData_ToUri() throws ComponentException {
Data data=new Data();
Identifier name=new Identifier("/wefree/王");
data.setName(name);
System.out.println(data.getName().toUri());
}
/**
* Data wireEncode:
* [5, 53,
* 50, 19,
* 103, 17, 101, 15,
* 100, 7, 0, 119, 101, 102, 114, 101, 101,
* 100, 4, 0, -25, -114, -117,
* 52, 16,
* -46, 8, 127, -1, -1, -1, -1, -1, -1, -1,
* -52, 4, -124, -35, -33, 25,
* 53, 12, 54, 10, -45, 8, 127, -1, -1, -1, -1, -1, -1, -1]
* @throws ComponentException
* @throws EncoderException
* @throws PacketException
* @throws BlockException
*/
@Test
public void TestData_WireEncode() throws ComponentException, EncoderException, PacketException, BlockException {
Data data=new Data();
data.freshnessPeriod.setFreshnessPeriod(Long.MAX_VALUE);
byte[] value={(byte)132,(byte)221,(byte)223,(byte)25};
data.payload.setValue(value);
data.congestionMark.setCongestionLevel(Long.MAX_VALUE);
Identifier name=new Identifier("/wefree/王");
data.setName(name);
Encoder encoder=new Encoder();
encoder.encoderReset(new SizeT(Encoder.MaxPacketSize),new SizeT(0));
System.out.println("encode res: "+data.wireEncode(encoder));
byte[] buf=encoder.getBuffer();
System.out.println("buf: "+ Arrays.toString(buf));
Block block=new Block(buf,false);
System.out.println("block buf: "+Arrays.toString(block.getValue()));
Data newData=new Data();
System.out.println("decode res: "+newData.wireDecode(block));
encoder.encoderReset(new SizeT(Encoder.MaxPacketSize),new SizeT(0));
System.out.println("encode res: "+newData.wireEncode(encoder));
byte[] newbuf=encoder.getBuffer();
System.out.println("newbuf: "+ Arrays.toString(newbuf));
System.out.println("new uri: "+newData.toUri()
+" , freshness "+newData.freshnessPeriod.getFreshnessPeriod());
}
}
+71
View File
@@ -0,0 +1,71 @@
package packet;
import component.ComponentException;
import component.Identifier;
import component.TTL;
import encoding.*;
import org.junit.Test;
import java.util.Arrays;
/*
* @Author: Wang Feng
* @Description:
* @Version: 1.0.0
* @Date: 10:32 2021/4/8
* @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室
*/
public class InterestTest {
@Test
public void TestInterest_ToUri() throws ComponentException {
Interest interest=new Interest();
Identifier name=new Identifier("/wefree/王");
interest.setName(name);
System.out.println(interest.getName().toUri());
}
/**
* Interest wireEncode:
* [5, 69,
* 50, 19,
* 103, 17, 101, 15,
* 100, 7, 0, 119, 101, 102, 114, 101, 101,
* 100, 4, 0, -25, -114, -117,
* 52, 20,
* -49, 2, 15, -96,
* -48, 8, 45, -7, 121, 78, -63, 21, -121, -66,
* -52, 4, -124, -35, -33, 25,
* 53, 24, 54, 10, -45, 8, 127, -1, -1, -1, -1, -1, -1, -1, 55, 10, -44, 8, 127, -1, -1, -1, -1, -1, -1, -1]
* @throws ComponentException
* @throws EncoderException
* @throws PacketException
* @throws BlockException
*/
@Test
public void TestInterest_WireEncode() throws ComponentException, EncoderException, PacketException, BlockException {
Interest interest=new Interest();
interest.ttl.setTtl(Long.MAX_VALUE);
byte[] value={(byte)132,(byte)221,(byte)223,(byte)25};
interest.payload.setValue(value);
interest.congestionMark.setCongestionLevel(Long.MAX_VALUE);
Identifier name=new Identifier("/wefree/王");
interest.setName(name);
Encoder encoder=new Encoder();
encoder.encoderReset(new SizeT(Encoder.MaxPacketSize),new SizeT(0));
System.out.println("encode res: "+interest.wireEncode(encoder));
byte[] buf=encoder.getBuffer();
System.out.println("buf: "+ Arrays.toString(buf));
Block block=new Block(buf,false);
System.out.println("block buf: "+Arrays.toString(block.getValue()));
Interest newInterest=new Interest();
System.out.println("decode res: "+newInterest.wireDecode(block));
encoder.encoderReset(new SizeT(Encoder.MaxPacketSize),new SizeT(0));
System.out.println("encode res: "+newInterest.wireEncode(encoder));
byte[] newbuf=encoder.getBuffer();
System.out.println("newbuf: "+ Arrays.toString(newbuf));
System.out.println("new uri: "+newInterest.toUri()
+" , ttl "+newInterest.ttl.ttl());
}
}
+59
View File
@@ -0,0 +1,59 @@
package packet;
import component.*;
import encoding.*;
import org.junit.Test;
import java.util.Arrays;
/*
* @Author: Wang Feng
* @Description:
* @Version: 1.0.0
* @Date: 10:42 2021/4/8
* @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室
*/
public class LpPacketTest {
/**
* LpPacket wireEncode:
* [-15, 0, -6, 34,
* -52, 4, 1, 2, 3, 4,
* -15, 0, -5, 15,
* -15, 0, -4, 1, 1,
* -15, 0, -3, 1, 2,
* -15, 0,-2, 1, 3]
* @throws EncoderException
* @throws PacketException
* @throws BlockException
*/
@Test
public void TestLpPacket_wireEncode() throws EncoderException, PacketException, BlockException {
LpPacketHeader header=new LpPacketHeader(new LpPacketFragmentId(1),
new LpPacketFragmentNum(2),new LpPacketFragmentSeq(3));
byte[] value={(byte)1,(byte)2,(byte)3,(byte)4};
LpPacket lpPacket=new LpPacket(header,new Payload(value));
System.out.println(lpPacket.lpPacketHeader.getLpPacketFragmentId().getId()+", "
+lpPacket.lpPacketHeader.getLpPacketFragmentNum().getFragmentNum()
+", "+lpPacket.lpPacketHeader.getLpPacketFragmentSeq().getFragmentSeq()
+", "+ Arrays.toString(lpPacket.payload.getValue()));
Encoder encoder=new Encoder();
encoder.encoderReset(new SizeT(Encoder.MaxPacketSize),new SizeT(0));
System.out.println("encode res: "+lpPacket.wireEncode(encoder));
byte[] buf=encoder.getBuffer();
System.out.println("buf: "+ Arrays.toString(buf));
Block block=new Block(buf,false);
System.out.println("block buf: "+Arrays.toString(block.getValue()));
LpPacket newLpPacket=new LpPacket();
System.out.println("decode res: "+newLpPacket.wireDecode(block));
encoder.encoderReset(new SizeT(Encoder.MaxPacketSize),new SizeT(0));
System.out.println("encode res: "+newLpPacket.wireEncode(encoder));
byte[] newbuf=encoder.getBuffer();
System.out.println("newbuf: "+ Arrays.toString(newbuf));
System.out.println(newLpPacket.lpPacketHeader.getLpPacketFragmentId().getId()+". "
+newLpPacket.lpPacketHeader.getLpPacketFragmentNum().getFragmentNum()
+", "+newLpPacket.lpPacketHeader.getLpPacketFragmentSeq().getFragmentSeq()
+", "+ Arrays.toString(newLpPacket.payload.getValue()));
}
}
+64
View File
@@ -0,0 +1,64 @@
package packet;
import component.*;
import encoding.*;
import org.junit.Test;
import java.util.Arrays;
/*
* @Author: Wang Feng
* @Description:
* @Version: 1.0.0
* @Date: 11:23 2021/4/8
* @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室
*/
public class NackTest {
/**
* Nack wireEncode:
* [5, 73,
* 50, 19,
* 103, 17, 101, 15,
* 100, 7, 0, 119, 101, 102, 114, 101, 101,
* 100, 4, 0, -25, -114, -117,
* 52, 24,
* -49, 2, 15, -96,
* -48, 8, 28, -40, -82, -73, -63, -103, -15, -43,
* -43, 2, 9, 29,
* -52, 4, -124, -35, -33, 25,
* 53, 24, 54, 10, -45, 8, 127, -1, -1, -1, -1, -1, -1, -1, 55, 10, -44, 8, 127, -1, -1, -1, -1, -1, -1, -1]
* @throws EncoderException
* @throws PacketException
* @throws BlockException
* @throws ComponentException
*/
@Test
public void TestNack_wireEncode() throws EncoderException, PacketException, BlockException, ComponentException {
Interest interest=new Interest();
interest.ttl.setTtl(Long.MAX_VALUE);
byte[] value={(byte)132,(byte)221,(byte)223,(byte)25};
interest.payload.setValue(value);
interest.congestionMark.setCongestionLevel(Long.MAX_VALUE);
Identifier name=new Identifier("/wefree/王");
interest.setName(name);
Nack nack=new Nack(interest,2333);
Encoder encoder=new Encoder();
encoder.encoderReset(new SizeT(Encoder.MaxPacketSize),new SizeT(0));
System.out.println("encode res: "+nack.wireEncode(encoder));
byte[] buf=encoder.getBuffer();
System.out.println("buf: "+ Arrays.toString(buf));
Block block=new Block(buf,false);
System.out.println("block buf: "+Arrays.toString(block.getValue()));
Nack newNack=new Nack();
System.out.println("decode res: "+newNack.wireDecode(block));
encoder.encoderReset(new SizeT(Encoder.MaxPacketSize),new SizeT(0));
System.out.println("encode res: "+newNack.wireEncode(encoder));
byte[] newbuf=encoder.getBuffer();
System.out.println("newbuf: "+ Arrays.toString(newbuf));
System.out.println("new uri: "+newNack.interest.toUri()
+" , ttl "+newNack.interest.ttl.ttl()
+" ,reason: "+newNack.getNackReason());
}
}