package mgmt; import component.ComponentException; import component.Identifier; import examples.KeyManagerExample; import examples.TestKeyManagerExample; import logicface.LogicFace; import logicface.LogicFaceException; import org.junit.Test; import packet.CPacket; import security.KeyChain; import java.util.concurrent.ConcurrentLinkedQueue; /* * @Author: Wang Feng * @Description: * @Version: 1.0.0 * @Date: 21:13 2021/5/6 * @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室 */ public class RegisterPrefixHelperTest { @Test public void registerPrefixTest() throws Exception { // 注册前缀Identifier Identifier identifier=new Identifier("/hello/wefree"+System.currentTimeMillis()); // 初始化face LogicFace face=new LogicFace(); face.initWithTcp("14.215.134.202",14922); // 初始化KeyChain // KeyChain keyChain=new KeyChain(); // RegisterPrefixHelper helper=new RegisterPrefixHelper(); KeyManagerExample.INSTANCE.initKeyChain("/wefree/test","D://"); face.setKeyChain(KeyManagerExample.INSTANCE.getKeyChain()); // helper.registerPrefix(identifier,face,KeyManagerExample.INSTANCE.getKeyChain()); // 测试发包速率 Identifier serverIden = null; try { serverIden=new Identifier("/testsrc"); } catch (ComponentException e) { e.printStackTrace(); return; } CPacket cPacket=new CPacket(); cPacket.setSrcIdentifier(serverIden); cPacket.setDstIdentifier(serverIden); cPacket.ttl.setTtl(64); byte[] pay=new byte[1000]; cPacket.payload.setValue(pay); ConcurrentLinkedQueue readTunCPackets = new ConcurrentLinkedQueue<>(); for (int i = 0; i < 10000*1000; i++) { readTunCPackets.offer(cPacket); } // 发包计数 int nums=100000; int error=0; long startTime=System.currentTimeMillis(); for (int i = 0; i < nums; i++) { // 出队 CPacket newPacket = readTunCPackets.poll(); if(newPacket!=null) { // face.sendQuickCPacketByTCP(newPacket); face.sendCPacket(newPacket); } } System.out.println("nums: "+nums); long endtime=System.currentTimeMillis(); System.out.println("发包"+nums+"耗时: "+(endtime-startTime)+"毫秒"); System.out.println(readTunCPackets.size()); } @Test public void registerPrefixByTest() throws Exception { // 注册前缀Identifier Identifier identifier=new Identifier("/min/gdcni9/wefree2"); // +System.currentTimeMillis()); // 初始化face LogicFace face=new LogicFace(); face.initWithTcp("14.215.134.202",14922); // face.initWithUdp("14.215.134.202",14922); RegisterPrefixHelper helper=new RegisterPrefixHelper(); KeyManagerExample.INSTANCE.initKeyChain("/wefree/test","D://"); face.setKeyChain(KeyManagerExample.INSTANCE.getKeyChain()); face.registerIdentifier(identifier,5000,helper); // Thread.sleep(1000*60); } }