diff --git a/net/src/main/java/com/zfoo/net/packet/PacketService.java b/net/src/main/java/com/zfoo/net/packet/PacketService.java index 414c9300..235bf7c1 100644 --- a/net/src/main/java/com/zfoo/net/packet/PacketService.java +++ b/net/src/main/java/com/zfoo/net/packet/PacketService.java @@ -151,7 +151,7 @@ public class PacketService implements IPacketService { // 解析包的附加包 var hasAttachment = ByteBufUtils.tryReadBoolean(buffer); var attachment = hasAttachment ? ((IAttachment) ProtocolManager.read(buffer)) : null; - return DecodedPacketInfo.valueOf(packet, attachment); + return DecodedPacketInfo.valueOf((IPacket) packet, attachment); } @Override diff --git a/protocol/src/main/java/com/zfoo/protocol/ProtocolManager.java b/protocol/src/main/java/com/zfoo/protocol/ProtocolManager.java index 015a37ef..3cd14eef 100644 --- a/protocol/src/main/java/com/zfoo/protocol/ProtocolManager.java +++ b/protocol/src/main/java/com/zfoo/protocol/ProtocolManager.java @@ -56,7 +56,7 @@ public class ProtocolManager { /** * serialize the packet into the buffer */ - public static void write(ByteBuf buffer, IPacket packet) { + public static void write(ByteBuf buffer, Object packet) { var protocolId = protocolId(packet.getClass()); // write the protocolId ByteBufUtils.writeShort(buffer, protocolId); @@ -67,8 +67,8 @@ public class ProtocolManager { /** * deserialization a packet from the buffer */ - public static IPacket read(ByteBuf buffer) { - return (IPacket) protocols[ByteBufUtils.readShort(buffer)].read(buffer); + public static Object read(ByteBuf buffer) { + return protocols[ByteBufUtils.readShort(buffer)].read(buffer); } public static IProtocolRegistration getProtocol(short protocolId) { diff --git a/protocol/src/main/java/com/zfoo/protocol/buffer/ByteBufUtils.java b/protocol/src/main/java/com/zfoo/protocol/buffer/ByteBufUtils.java index 1604bdea..45e3581e 100644 --- a/protocol/src/main/java/com/zfoo/protocol/buffer/ByteBufUtils.java +++ b/protocol/src/main/java/com/zfoo/protocol/buffer/ByteBufUtils.java @@ -12,7 +12,6 @@ package com.zfoo.protocol.buffer; -import com.zfoo.protocol.IPacket; import com.zfoo.protocol.collection.*; import com.zfoo.protocol.registration.IProtocolRegistration; import com.zfoo.protocol.util.StringUtils; @@ -397,13 +396,13 @@ public abstract class ByteBufUtils { //----------------------------------------------------------------------- //---------------------------------以下方法会被字节码生成的代码调用-------------------------------------- - public static boolean writePacketFlag(ByteBuf byteBuf, IPacket packet) { + public static boolean writePacketFlag(ByteBuf byteBuf, Object packet) { boolean flag = packet == null; byteBuf.writeBoolean(!flag); return flag; } - public static void writePacketCollection(ByteBuf byteBuf, Collection collection, IProtocolRegistration protocolRegistration) { + public static void writePacketCollection(ByteBuf byteBuf, Collection collection, IProtocolRegistration protocolRegistration) { if (collection == null) { byteBuf.writeByte(0); return; @@ -414,28 +413,28 @@ public abstract class ByteBufUtils { } } - public static void writePacketList(ByteBuf byteBuf, List list, IProtocolRegistration protocolRegistration) { + public static void writePacketList(ByteBuf byteBuf, List list, IProtocolRegistration protocolRegistration) { writePacketCollection(byteBuf, list, protocolRegistration); } - public static List readPacketList(ByteBuf byteBuf, IProtocolRegistration protocolRegistration) { + public static List readPacketList(ByteBuf byteBuf, IProtocolRegistration protocolRegistration) { var length = readInt(byteBuf); - List list = CollectionUtils.newList(length); + List list = CollectionUtils.newList(length); for (var i = 0; i < length; i++) { - list.add((IPacket) protocolRegistration.read(byteBuf)); + list.add(protocolRegistration.read(byteBuf)); } return list; } - public static void writePacketSet(ByteBuf byteBuf, Set list, IProtocolRegistration protocolRegistration) { - writePacketCollection(byteBuf, list, protocolRegistration); + public static void writePacketSet(ByteBuf byteBuf, Set set, IProtocolRegistration protocolRegistration) { + writePacketCollection(byteBuf, set, protocolRegistration); } - public static Set readPacketSet(ByteBuf byteBuf, IProtocolRegistration protocolRegistration) { + public static Set readPacketSet(ByteBuf byteBuf, IProtocolRegistration protocolRegistration) { var length = readInt(byteBuf); - Set set = CollectionUtils.newSet(length); + Set set = CollectionUtils.newSet(length); for (var i = 0; i < length; i++) { - set.add((IPacket) protocolRegistration.read(byteBuf)); + set.add(protocolRegistration.read(byteBuf)); } return set; } @@ -503,7 +502,7 @@ public abstract class ByteBufUtils { return map; } - public static void writeIntPacketMap(ByteBuf byteBuf, Map map, IProtocolRegistration protocolRegistration) { + public static void writeIntPacketMap(ByteBuf byteBuf, Map map, IProtocolRegistration protocolRegistration) { if (map == null) { byteBuf.writeByte(0); return; @@ -515,11 +514,11 @@ public abstract class ByteBufUtils { } } - public static Map readIntPacketMap(ByteBuf byteBuf, IProtocolRegistration protocolRegistration) { + public static Map readIntPacketMap(ByteBuf byteBuf, IProtocolRegistration protocolRegistration) { var length = readInt(byteBuf); - var map = new IntObjectHashMap(CollectionUtils.comfortableCapacity(length)); + var map = new IntObjectHashMap<>(CollectionUtils.comfortableCapacity(length)); for (var i = 0; i < length; i++) { - map.put(readInt(byteBuf), (IPacket) protocolRegistration.read(byteBuf)); + map.put(readInt(byteBuf), protocolRegistration.read(byteBuf)); } return map; } @@ -587,7 +586,7 @@ public abstract class ByteBufUtils { return map; } - public static void writeLongPacketMap(ByteBuf byteBuf, Map map, IProtocolRegistration protocolRegistration) { + public static void writeLongPacketMap(ByteBuf byteBuf, Map map, IProtocolRegistration protocolRegistration) { if (map == null) { byteBuf.writeByte(0); return; @@ -599,11 +598,11 @@ public abstract class ByteBufUtils { } } - public static Map readLongPacketMap(ByteBuf byteBuf, IProtocolRegistration protocolRegistration) { + public static Map readLongPacketMap(ByteBuf byteBuf, IProtocolRegistration protocolRegistration) { var length = readInt(byteBuf); - var map = new LongObjectHashMap(CollectionUtils.comfortableCapacity(length)); + var map = new LongObjectHashMap<>(CollectionUtils.comfortableCapacity(length)); for (var i = 0; i < length; i++) { - map.put(readLong(byteBuf), (IPacket) protocolRegistration.read(byteBuf)); + map.put(readLong(byteBuf), protocolRegistration.read(byteBuf)); } return map; } @@ -671,7 +670,7 @@ public abstract class ByteBufUtils { return map; } - public static void writeStringPacketMap(ByteBuf byteBuf, Map map, IProtocolRegistration protocolRegistration) { + public static void writeStringPacketMap(ByteBuf byteBuf, Map map, IProtocolRegistration protocolRegistration) { if (map == null) { byteBuf.writeByte(0); return; @@ -683,11 +682,11 @@ public abstract class ByteBufUtils { } } - public static Map readStringPacketMap(ByteBuf byteBuf, IProtocolRegistration protocolRegistration) { + public static Map readStringPacketMap(ByteBuf byteBuf, IProtocolRegistration protocolRegistration) { var length = readInt(byteBuf); - Map map = CollectionUtils.newMap(length); + Map map = CollectionUtils.newMap(length); for (var i = 0; i < length; i++) { - map.put(readString(byteBuf), (IPacket) protocolRegistration.read(byteBuf)); + map.put(readString(byteBuf), protocolRegistration.read(byteBuf)); } return map; } @@ -1334,7 +1333,7 @@ public abstract class ByteBufUtils { return chars; } - public static void writePacketArray(ByteBuf byteBuf, T[] array, IProtocolRegistration protocolRegistration) { + public static void writePacketArray(ByteBuf byteBuf, T[] array, IProtocolRegistration protocolRegistration) { if (array == null) { byteBuf.writeByte(0); return; diff --git a/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/ConcurrentFileChannelHeapMap.java b/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/ConcurrentFileChannelHeapMap.java index db0228cb..64184af5 100644 --- a/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/ConcurrentFileChannelHeapMap.java +++ b/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/ConcurrentFileChannelHeapMap.java @@ -12,7 +12,6 @@ package com.zfoo.protocol.collection.lpmap; -import com.zfoo.protocol.IPacket; import java.io.Closeable; import java.io.IOException; @@ -23,7 +22,7 @@ import java.util.function.BiConsumer; * @author godotg * @version 3.0 */ -public class ConcurrentFileChannelHeapMap implements LpMap, Closeable { +public class ConcurrentFileChannelHeapMap implements LpMap, Closeable { private final ReentrantLock fileChannelLock = new ReentrantLock(); diff --git a/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/ConcurrentFileChannelMap.java b/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/ConcurrentFileChannelMap.java index 37ce0165..c8ea68b5 100644 --- a/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/ConcurrentFileChannelMap.java +++ b/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/ConcurrentFileChannelMap.java @@ -12,8 +12,6 @@ package com.zfoo.protocol.collection.lpmap; -import com.zfoo.protocol.IPacket; - import java.io.Closeable; import java.io.IOException; import java.util.List; @@ -23,7 +21,7 @@ import java.util.function.BiConsumer; * @author godotg * @version 3.0 */ -public class ConcurrentFileChannelMap implements LpMap, Closeable { +public class ConcurrentFileChannelMap implements LpMap, Closeable { private final FileChannelMap fileChannelMap; diff --git a/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/ConcurrentHeapMap.java b/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/ConcurrentHeapMap.java index 66441691..ed43a281 100644 --- a/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/ConcurrentHeapMap.java +++ b/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/ConcurrentHeapMap.java @@ -12,8 +12,6 @@ package com.zfoo.protocol.collection.lpmap; -import com.zfoo.protocol.IPacket; - import java.util.concurrent.ConcurrentNavigableMap; import java.util.concurrent.ConcurrentSkipListMap; import java.util.concurrent.atomic.AtomicLong; @@ -23,7 +21,7 @@ import java.util.function.BiConsumer; * @author godotg * @version 3.0 */ -public class ConcurrentHeapMap implements LpMap { +public class ConcurrentHeapMap implements LpMap { private final ConcurrentNavigableMap map = new ConcurrentSkipListMap<>(); diff --git a/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/FileChannelHeapMap.java b/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/FileChannelHeapMap.java index 9111e21c..bd4bef0d 100644 --- a/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/FileChannelHeapMap.java +++ b/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/FileChannelHeapMap.java @@ -12,7 +12,6 @@ package com.zfoo.protocol.collection.lpmap; -import com.zfoo.protocol.IPacket; import java.io.Closeable; import java.io.IOException; @@ -22,7 +21,7 @@ import java.util.function.BiConsumer; * @author godotg * @version 3.0 */ -public class FileChannelHeapMap implements LpMap, Closeable { +public class FileChannelHeapMap implements LpMap, Closeable { private final FileChannelMap fileChannelMap; diff --git a/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/FileChannelMap.java b/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/FileChannelMap.java index ab281f48..e062f476 100644 --- a/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/FileChannelMap.java +++ b/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/FileChannelMap.java @@ -12,7 +12,6 @@ package com.zfoo.protocol.collection.lpmap; -import com.zfoo.protocol.IPacket; import com.zfoo.protocol.ProtocolManager; import com.zfoo.protocol.exception.RunException; import com.zfoo.protocol.registration.IProtocolRegistration; @@ -37,7 +36,7 @@ import java.util.function.BiConsumer; * @author godotg * @version 3.0 */ -public class FileChannelMap implements LpMap, Closeable { +public class FileChannelMap implements LpMap, Closeable { private final File dbFile; protected RandomAccessFile dbFileRandomAccess; diff --git a/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/FileHeapMap.java b/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/FileHeapMap.java index 4b7f99a1..96b9235f 100644 --- a/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/FileHeapMap.java +++ b/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/FileHeapMap.java @@ -12,7 +12,6 @@ package com.zfoo.protocol.collection.lpmap; -import com.zfoo.protocol.IPacket; import com.zfoo.protocol.ProtocolManager; import com.zfoo.protocol.buffer.ByteBufUtils; import com.zfoo.protocol.registration.IProtocolRegistration; @@ -34,7 +33,7 @@ import java.util.function.BiConsumer; * @author godotg * @version 3.0 */ -public class FileHeapMap implements LpMap { +public class FileHeapMap implements LpMap { private final File dbFile; diff --git a/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/HeapMap.java b/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/HeapMap.java index ac87a666..d2a426c1 100644 --- a/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/HeapMap.java +++ b/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/HeapMap.java @@ -12,7 +12,6 @@ package com.zfoo.protocol.collection.lpmap; -import com.zfoo.protocol.IPacket; import io.netty.util.collection.LongObjectHashMap; import java.util.function.BiConsumer; @@ -21,7 +20,7 @@ import java.util.function.BiConsumer; * @author godotg * @version 3.0 */ -public class HeapMap implements LpMap { +public class HeapMap implements LpMap { protected LongObjectHashMap map; diff --git a/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/LpMap.java b/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/LpMap.java index d3d4de12..8195b3b2 100644 --- a/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/LpMap.java +++ b/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/LpMap.java @@ -12,7 +12,6 @@ package com.zfoo.protocol.collection.lpmap; -import com.zfoo.protocol.IPacket; import com.zfoo.protocol.exception.RunException; import java.util.function.BiConsumer; @@ -24,7 +23,7 @@ import java.util.function.BiConsumer; * @author godotg * @version 3.0 */ -public interface LpMap { +public interface LpMap { /** * @param packet the previous value associated with key, or null if there was no mapping for key. diff --git a/protocol/src/main/java/com/zfoo/protocol/registration/EnhanceUtils.java b/protocol/src/main/java/com/zfoo/protocol/registration/EnhanceUtils.java index 3664e8bb..c1f8f9de 100644 --- a/protocol/src/main/java/com/zfoo/protocol/registration/EnhanceUtils.java +++ b/protocol/src/main/java/com/zfoo/protocol/registration/EnhanceUtils.java @@ -13,7 +13,6 @@ package com.zfoo.protocol.registration; -import com.zfoo.protocol.IPacket; import com.zfoo.protocol.anno.Compatible; import com.zfoo.protocol.buffer.ByteBufUtils; import com.zfoo.protocol.collection.ArrayUtils; @@ -51,12 +50,11 @@ public abstract class EnhanceUtils { public static String byteBufUtilsWriteInt0 = byteBufUtils + ".writeInt($1, 0);"; static { - var classArray = new Class[]{IPacket.class, IProtocolRegistration.class, IFieldRegistration.class, ByteBuf.class}; + var classArray = new Class[]{IProtocolRegistration.class, IFieldRegistration.class, ByteBuf.class}; var classPool = ClassPool.getDefault(); // 导入需要的包 - classPool.importPackage(IPacket.class.getCanonicalName()); classPool.importPackage(ByteBufUtils.class.getCanonicalName()); classPool.importPackage(CollectionUtils.class.getCanonicalName()); classPool.importPackage(ArrayUtils.class.getCanonicalName()); @@ -159,7 +157,7 @@ public abstract class EnhanceUtils { moduleMethod.setBody("{return " + registration.module() + ";}"); enhanceClazz.addMethod(moduleMethod); - CtMethod writeMethod = new CtMethod(classPool.get(void.class.getCanonicalName()), "write", classPool.get(new String[]{ByteBuf.class.getCanonicalName(), IPacket.class.getCanonicalName()}), enhanceClazz); + CtMethod writeMethod = new CtMethod(classPool.get(void.class.getCanonicalName()), "write", classPool.get(new String[]{ByteBuf.class.getCanonicalName(), Object.class.getCanonicalName()}), enhanceClazz); writeMethod.setModifiers(Modifier.PUBLIC + Modifier.FINAL); writeMethod.setBody(writeMethodBody(registration)); enhanceClazz.addMethod(writeMethod); diff --git a/protocol/src/main/java/com/zfoo/protocol/registration/IProtocolRegistration.java b/protocol/src/main/java/com/zfoo/protocol/registration/IProtocolRegistration.java index 1fb10fc2..110f221b 100644 --- a/protocol/src/main/java/com/zfoo/protocol/registration/IProtocolRegistration.java +++ b/protocol/src/main/java/com/zfoo/protocol/registration/IProtocolRegistration.java @@ -13,7 +13,6 @@ package com.zfoo.protocol.registration; -import com.zfoo.protocol.IPacket; import io.netty.buffer.ByteBuf; import java.lang.reflect.Constructor; @@ -33,7 +32,7 @@ public interface IProtocolRegistration { /** * 序列化 */ - void write(ByteBuf buffer, IPacket packet); + void write(ByteBuf buffer, Object packet); /** * 反序列化 diff --git a/protocol/src/main/java/com/zfoo/protocol/registration/ProtocolAnalysis.java b/protocol/src/main/java/com/zfoo/protocol/registration/ProtocolAnalysis.java index ea9a1f63..ec51a66a 100644 --- a/protocol/src/main/java/com/zfoo/protocol/registration/ProtocolAnalysis.java +++ b/protocol/src/main/java/com/zfoo/protocol/registration/ProtocolAnalysis.java @@ -12,7 +12,6 @@ package com.zfoo.protocol.registration; -import com.zfoo.protocol.IPacket; import com.zfoo.protocol.ProtocolManager; import com.zfoo.protocol.anno.Compatible; import com.zfoo.protocol.anno.Protocol; @@ -181,7 +180,7 @@ public class ProtocolAnalysis { for (var protocolDefinition : moduleDefinition.getProtocols()) { protocolDefinitionMap.put(protocolDefinition.getLocation(), protocolDefinition.isEnhance()); protocolNameMap.put(protocolDefinition.getLocation(), protocolDefinition.getId()); - var packetClazzList = scanClassList(protocolDefinition.getLocation()); + var packetClazzList = Set.of(ClassUtils.forName(protocolDefinition.getLocation())); clazzSet.addAll(packetClazzList); for (Class clazz : packetClazzList) { var previous = classModuleDefinitionMap.put(clazz, module.getId()); @@ -200,7 +199,8 @@ public class ProtocolAnalysis { var enhanceList = new ArrayList(); for (var moduleDefinition : xmlProtocols.getModules()) { var module = modules[moduleDefinition.getId()]; - var packetClazzList = moduleDefinitionClassMap.get(moduleDefinition.getId());; + var packetClazzList = moduleDefinitionClassMap.get(moduleDefinition.getId()); + ; if (CollectionUtils.isEmpty(packetClazzList)) { continue; } @@ -228,37 +228,7 @@ public class ProtocolAnalysis { } catch (Exception e) { throw new RunException("[{}]包扫描类异常", packageName, e); } - return scanClassList(clazzSet); - } - - public static Set> scanClassList(String className) { - var clazzSet = new HashSet>(); - try { - Class clazz = Class.forName(className); - if (!IPacket.class.isAssignableFrom(clazz) || clazz.isInterface()) { - return clazzSet; - } - clazzSet.add(clazz); - } catch (Exception e) { - clazzSet.addAll(scanPackageList(className)); - } - return clazzSet; - } - - public static Set> scanClassList(Set classList) { - var clazzSet = new HashSet>(); - for (var className : classList) { - try { - Class clazz = Class.forName(className); - if (!IPacket.class.isAssignableFrom(clazz) || clazz.isInterface()) { - continue; - } - clazzSet.add(clazz); - } catch (Exception e) { - clazzSet.addAll(scanPackageList(className)); - } - } - return clazzSet; + return clazzSet.stream().map(it -> ClassUtils.forName(it)).collect(Collectors.toSet()); } private static void enhance(GenerateOperation generateOperation, List enhanceList) { @@ -582,12 +552,9 @@ public class ProtocolAnalysis { public static short getProtocolIdAndCheckClass(Class clazz) { // 是否为一个简单的javabean ReflectionUtils.assertIsPojoClass(clazz); - // 是否实现了IPacket接口 - AssertionUtils.isTrue(IPacket.class.isAssignableFrom(clazz), "[class:{}]没有实现接口[IPacket:{}]", clazz.getCanonicalName(), IPacket.class.getCanonicalName()); // 不能是泛型类 AssertionUtils.isTrue(ArrayUtils.isEmpty(clazz.getTypeParameters()), "[class:{}]不能是泛型类", clazz.getCanonicalName()); - // 必须要有一个空的构造器 Constructor constructor = ReflectionUtils.publicEmptyConstructor(clazz); @@ -647,7 +614,7 @@ public class ProtocolAnalysis { //拓扑排序检查循环协议 - if(subProtocolIdMap.isEmpty()){ + if (subProtocolIdMap.isEmpty()) { return; } //先判断自循环引用 @@ -660,52 +627,44 @@ public class ProtocolAnalysis { } } //入度 - var inDegree=new HashMap(); + var inDegree = new HashMap(); //初始化入度 - for(var protocolEntry : subProtocolIdMap.entrySet()) - { - var protocolId=protocolEntry.getKey(); - inDegree.put(protocolId,inDegree.getOrDefault(protocolId,0)); + for (var protocolEntry : subProtocolIdMap.entrySet()) { + var protocolId = protocolEntry.getKey(); + inDegree.put(protocolId, inDegree.getOrDefault(protocolId, 0)); var subProtocolSet = protocolEntry.getValue(); - for(var subProtocolId:subProtocolSet) - { - inDegree.put(subProtocolId,inDegree.getOrDefault(subProtocolId,0)+1); + for (var subProtocolId : subProtocolSet) { + inDegree.put(subProtocolId, inDegree.getOrDefault(subProtocolId, 0) + 1); } } - var queue=new LinkedList(); - for(var protocolEntry:inDegree.entrySet()) - { - var protocolInDegree=protocolEntry.getValue(); - if(protocolInDegree==0) - { + var queue = new LinkedList(); + for (var protocolEntry : inDegree.entrySet()) { + var protocolInDegree = protocolEntry.getValue(); + if (protocolInDegree == 0) { queue.offer(protocolEntry.getKey()); } } - while(!queue.isEmpty()) - { - var protocolId=queue.poll(); - if(subProtocolIdMap.containsKey(protocolId)){ - for(var subProtocolId:subProtocolIdMap.get(protocolId)) - { - inDegree.put(subProtocolId,inDegree.get(subProtocolId)-1); - if(inDegree.get(subProtocolId)==0) - { + while (!queue.isEmpty()) { + var protocolId = queue.poll(); + if (subProtocolIdMap.containsKey(protocolId)) { + for (var subProtocolId : subProtocolIdMap.get(protocolId)) { + inDegree.put(subProtocolId, inDegree.get(subProtocolId) - 1); + if (inDegree.get(subProtocolId) == 0) { queue.offer(subProtocolId); } } } } - var circularReferenceProtocols=new ArrayList(); + var circularReferenceProtocols = new ArrayList(); //入度不为0的表示存在循环引用的协议 - for(var protocolEntry:inDegree.entrySet()) - { - if(protocolEntry.getValue()>0){ + for (var protocolEntry : inDegree.entrySet()) { + if (protocolEntry.getValue() > 0) { circularReferenceProtocols.add(protocols[protocolEntry.getKey()].protocolConstructor().getDeclaringClass().getSimpleName()); } } //抛出所有存在循环引用的协议类名 - if(circularReferenceProtocols.size()>0){ - throw new RunException("[class:{}]中存在循环引用",StringUtils.joinWith(",",circularReferenceProtocols.toArray())); + if (circularReferenceProtocols.size() > 0) { + throw new RunException("[class:{}]中存在循环引用", StringUtils.joinWith(",", circularReferenceProtocols.toArray())); } } diff --git a/protocol/src/main/java/com/zfoo/protocol/registration/ProtocolRegistration.java b/protocol/src/main/java/com/zfoo/protocol/registration/ProtocolRegistration.java index 9c94b7ec..1dd41ab6 100644 --- a/protocol/src/main/java/com/zfoo/protocol/registration/ProtocolRegistration.java +++ b/protocol/src/main/java/com/zfoo/protocol/registration/ProtocolRegistration.java @@ -13,7 +13,6 @@ package com.zfoo.protocol.registration; -import com.zfoo.protocol.IPacket; import com.zfoo.protocol.anno.Compatible; import com.zfoo.protocol.buffer.ByteBufUtils; import com.zfoo.protocol.registration.field.IFieldRegistration; @@ -30,7 +29,6 @@ import java.lang.reflect.Field; */ public class ProtocolRegistration implements IProtocolRegistration { - private short id; private byte module; private Constructor constructor; @@ -62,7 +60,7 @@ public class ProtocolRegistration implements IProtocolRegistration { @Override - public void write(ByteBuf buffer, IPacket packet) { + public void write(ByteBuf buffer, Object packet) { if (packet == null) { ByteBufUtils.writeBoolean(buffer, false); return; diff --git a/protocol/src/main/java/com/zfoo/protocol/serializer/cpp/CppObjectProtocolSerializer.java b/protocol/src/main/java/com/zfoo/protocol/serializer/cpp/CppObjectProtocolSerializer.java index 25207651..95fa2e3f 100644 --- a/protocol/src/main/java/com/zfoo/protocol/serializer/cpp/CppObjectProtocolSerializer.java +++ b/protocol/src/main/java/com/zfoo/protocol/serializer/cpp/CppObjectProtocolSerializer.java @@ -13,7 +13,6 @@ package com.zfoo.protocol.serializer.cpp; -import com.zfoo.protocol.IPacket; import com.zfoo.protocol.generate.GenerateProtocolFile; import com.zfoo.protocol.model.Pair; import com.zfoo.protocol.registration.field.IFieldRegistration; @@ -44,7 +43,7 @@ public class CppObjectProtocolSerializer implements ICppSerializer { public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) { ObjectProtocolField objectProtocolField = (ObjectProtocolField) fieldRegistration; GenerateProtocolFile.addTab(builder, deep); - if (IPacket.class.isAssignableFrom(field.getType())) { + if (Object.class.isAssignableFrom(field.getType())) { builder.append(StringUtils.format("buffer.writePacket({}, {});", objectStr, objectProtocolField.getProtocolId())) .append(LS); } else { diff --git a/protocol/src/main/java/com/zfoo/protocol/serializer/cpp/GenerateCppUtils.java b/protocol/src/main/java/com/zfoo/protocol/serializer/cpp/GenerateCppUtils.java index 913928e5..cba9f621 100644 --- a/protocol/src/main/java/com/zfoo/protocol/serializer/cpp/GenerateCppUtils.java +++ b/protocol/src/main/java/com/zfoo/protocol/serializer/cpp/GenerateCppUtils.java @@ -13,7 +13,6 @@ package com.zfoo.protocol.serializer.cpp; -import com.zfoo.protocol.IPacket; import com.zfoo.protocol.anno.Compatible; import com.zfoo.protocol.collection.CollectionUtils; import com.zfoo.protocol.generate.GenerateOperation; @@ -250,7 +249,7 @@ public abstract class GenerateCppUtils { var field = fields[i]; var fieldRegistration = fieldRegistrations[i]; var serializer = cppSerializer(fieldRegistration.serializer()); - if (IPacket.class.isAssignableFrom(field.getType())) { + if (Object.class.isAssignableFrom(field.getType())) { serializer.writeObject(cppBuilder, "&message->" + field.getName(), 3, field, fieldRegistration); } else { serializer.writeObject(cppBuilder, "message->" + field.getName(), 3, field, fieldRegistration); @@ -275,7 +274,7 @@ public abstract class GenerateCppUtils { var readObject = cppSerializer(fieldRegistration.serializer()).readObject(cppBuilder, 3, field, fieldRegistration); cppBuilder.append(TAB + TAB + TAB); - if (IPacket.class.isAssignableFrom(field.getType())) { + if (Object.class.isAssignableFrom(field.getType())) { cppBuilder.append(StringUtils.format("packet->{} = *{};", field.getName(), readObject)); } else { cppBuilder.append(StringUtils.format("packet->{} = {};", field.getName(), readObject)); diff --git a/protocol/src/main/java/com/zfoo/protocol/serializer/enhance/EnhanceObjectProtocolSerializer.java b/protocol/src/main/java/com/zfoo/protocol/serializer/enhance/EnhanceObjectProtocolSerializer.java index 800c7b9c..fc3780af 100644 --- a/protocol/src/main/java/com/zfoo/protocol/serializer/enhance/EnhanceObjectProtocolSerializer.java +++ b/protocol/src/main/java/com/zfoo/protocol/serializer/enhance/EnhanceObjectProtocolSerializer.java @@ -33,7 +33,7 @@ public class EnhanceObjectProtocolSerializer implements IEnhanceSerializer { @Override public void writeObject(StringBuilder builder, String objectStr, Field field, IFieldRegistration fieldRegistration) { var objectProtocolField = (ObjectProtocolField) fieldRegistration; - builder.append(StringUtils.format("{}.write($1, (IPacket){});", EnhanceUtils.getProtocolRegistrationFieldNameByProtocolId(objectProtocolField.getProtocolId()), objectStr)); + builder.append(StringUtils.format("{}.write($1,{});", EnhanceUtils.getProtocolRegistrationFieldNameByProtocolId(objectProtocolField.getProtocolId()), objectStr)); } @Override diff --git a/protocol/src/main/java/com/zfoo/protocol/serializer/enhance/IEnhanceSerializer.java b/protocol/src/main/java/com/zfoo/protocol/serializer/enhance/IEnhanceSerializer.java index 9aac5ca2..ecdbcea8 100644 --- a/protocol/src/main/java/com/zfoo/protocol/serializer/enhance/IEnhanceSerializer.java +++ b/protocol/src/main/java/com/zfoo/protocol/serializer/enhance/IEnhanceSerializer.java @@ -31,7 +31,7 @@ public interface IEnhanceSerializer { } /** - * IProtocolRegistration.write(ByteBuf buffer, IPacket packet); + * IProtocolRegistration.write(ByteBuf buffer, Object packet); * $1=buffer * $2=packet */ diff --git a/protocol/src/main/java/com/zfoo/protocol/serializer/reflect/ObjectProtocolSerializer.java b/protocol/src/main/java/com/zfoo/protocol/serializer/reflect/ObjectProtocolSerializer.java index f2d0e527..505e46e2 100644 --- a/protocol/src/main/java/com/zfoo/protocol/serializer/reflect/ObjectProtocolSerializer.java +++ b/protocol/src/main/java/com/zfoo/protocol/serializer/reflect/ObjectProtocolSerializer.java @@ -13,7 +13,6 @@ package com.zfoo.protocol.serializer.reflect; -import com.zfoo.protocol.IPacket; import com.zfoo.protocol.ProtocolManager; import com.zfoo.protocol.registration.IProtocolRegistration; import com.zfoo.protocol.registration.field.IFieldRegistration; @@ -38,7 +37,7 @@ public class ObjectProtocolSerializer implements ISerializer { public void writeObject(ByteBuf buffer, Object object, IFieldRegistration fieldRegistration) { ObjectProtocolField objectProtocolField = (ObjectProtocolField) fieldRegistration; IProtocolRegistration protocol = ProtocolManager.getProtocol(objectProtocolField.getProtocolId()); - protocol.write(buffer, (IPacket) object); + protocol.write(buffer, object); } @Override diff --git a/protocol/src/main/java/com/zfoo/protocol/util/ClassUtils.java b/protocol/src/main/java/com/zfoo/protocol/util/ClassUtils.java index 2b3d8b74..5d8f83fe 100644 --- a/protocol/src/main/java/com/zfoo/protocol/util/ClassUtils.java +++ b/protocol/src/main/java/com/zfoo/protocol/util/ClassUtils.java @@ -41,6 +41,15 @@ public abstract class ClassUtils { public final static String JAR_URL_SEPARATOR = "!/"; + + public static Class forName(String className) { + try { + return Class.forName(className); + } catch (ClassNotFoundException e) { + throw new RuntimeException(e); + } + } + /** * 扫描指定包下的class文件 * diff --git a/protocol/src/test/java/com/zfoo/protocol/buffer/model/BigPacket.java b/protocol/src/test/java/com/zfoo/protocol/buffer/model/BigPacket.java index a2758bc3..ebebe55e 100644 --- a/protocol/src/test/java/com/zfoo/protocol/buffer/model/BigPacket.java +++ b/protocol/src/test/java/com/zfoo/protocol/buffer/model/BigPacket.java @@ -12,7 +12,7 @@ package com.zfoo.protocol.buffer.model; -import com.zfoo.protocol.IPacket; + import com.zfoo.protocol.anno.Protocol; /** @@ -20,7 +20,7 @@ import com.zfoo.protocol.anno.Protocol; * @version 3.0 */ @Protocol(id = 1000) -public class BigPacket implements IPacket { +public class BigPacket { public int[] a = new int[10_0000]; diff --git a/protocol/src/test/java/com/zfoo/protocol/buffer/model/MyObjectA.java b/protocol/src/test/java/com/zfoo/protocol/buffer/model/MyObjectA.java index bd66c0d1..73028968 100644 --- a/protocol/src/test/java/com/zfoo/protocol/buffer/model/MyObjectA.java +++ b/protocol/src/test/java/com/zfoo/protocol/buffer/model/MyObjectA.java @@ -13,7 +13,7 @@ package com.zfoo.protocol.buffer.model; -import com.zfoo.protocol.IPacket; + import com.zfoo.protocol.anno.Protocol; import java.util.Map; @@ -24,7 +24,7 @@ import java.util.Objects; * @version 3.0 */ @Protocol(id = 2) -public class MyObjectA implements IPacket { +public class MyObjectA { public int a; diff --git a/protocol/src/test/java/com/zfoo/protocol/buffer/model/MyObjectB.java b/protocol/src/test/java/com/zfoo/protocol/buffer/model/MyObjectB.java index 525ec13e..ac6901ed 100644 --- a/protocol/src/test/java/com/zfoo/protocol/buffer/model/MyObjectB.java +++ b/protocol/src/test/java/com/zfoo/protocol/buffer/model/MyObjectB.java @@ -13,7 +13,7 @@ package com.zfoo.protocol.buffer.model; -import com.zfoo.protocol.IPacket; + import com.zfoo.protocol.anno.Protocol; import java.util.Objects; @@ -23,7 +23,7 @@ import java.util.Objects; * @version 3.0 */ @Protocol(id = 3) -public class MyObjectB implements IPacket { +public class MyObjectB { public boolean a; diff --git a/protocol/src/test/java/com/zfoo/protocol/collection/lpmap/model/MyPacket.java b/protocol/src/test/java/com/zfoo/protocol/collection/lpmap/model/MyPacket.java index fa482c60..82cd717f 100644 --- a/protocol/src/test/java/com/zfoo/protocol/collection/lpmap/model/MyPacket.java +++ b/protocol/src/test/java/com/zfoo/protocol/collection/lpmap/model/MyPacket.java @@ -12,7 +12,7 @@ package com.zfoo.protocol.collection.lpmap.model; -import com.zfoo.protocol.IPacket; + import com.zfoo.protocol.anno.Protocol; import java.util.Objects; @@ -22,7 +22,7 @@ import java.util.Objects; * @version 3.0 */ @Protocol(id = 1) -public class MyPacket implements IPacket { +public class MyPacket { private int a; diff --git a/protocol/src/test/java/com/zfoo/protocol/field/packet/BytesObject.java b/protocol/src/test/java/com/zfoo/protocol/field/packet/BytesObject.java index 1d2cf03f..9c1a68bb 100644 --- a/protocol/src/test/java/com/zfoo/protocol/field/packet/BytesObject.java +++ b/protocol/src/test/java/com/zfoo/protocol/field/packet/BytesObject.java @@ -1,10 +1,10 @@ package com.zfoo.protocol.field.packet; -import com.zfoo.protocol.IPacket; + import java.util.Arrays; -public class BytesObject implements IPacket { +public class BytesObject { private byte[] a; private byte[] b; diff --git a/protocol/src/test/java/com/zfoo/protocol/field/packet/FloatObject.java b/protocol/src/test/java/com/zfoo/protocol/field/packet/FloatObject.java index ad7cbc29..c13b9c94 100644 --- a/protocol/src/test/java/com/zfoo/protocol/field/packet/FloatObject.java +++ b/protocol/src/test/java/com/zfoo/protocol/field/packet/FloatObject.java @@ -1,10 +1,10 @@ package com.zfoo.protocol.field.packet; -import com.zfoo.protocol.IPacket; + import java.util.Objects; -public class FloatObject implements IPacket { +public class FloatObject { private float a; private float b; diff --git a/protocol/src/test/java/com/zfoo/protocol/field/packet/InnerObject.java b/protocol/src/test/java/com/zfoo/protocol/field/packet/InnerObject.java index f202e6de..860ae03c 100644 --- a/protocol/src/test/java/com/zfoo/protocol/field/packet/InnerObject.java +++ b/protocol/src/test/java/com/zfoo/protocol/field/packet/InnerObject.java @@ -1,10 +1,10 @@ package com.zfoo.protocol.field.packet; -import com.zfoo.protocol.IPacket; + import java.util.Objects; -public class InnerObject implements IPacket { +public class InnerObject { private int x; public int getX() { diff --git a/protocol/src/test/java/com/zfoo/protocol/field/packet/InnerObjectObject.java b/protocol/src/test/java/com/zfoo/protocol/field/packet/InnerObjectObject.java index 7888c7ce..7b842cc3 100644 --- a/protocol/src/test/java/com/zfoo/protocol/field/packet/InnerObjectObject.java +++ b/protocol/src/test/java/com/zfoo/protocol/field/packet/InnerObjectObject.java @@ -1,10 +1,10 @@ package com.zfoo.protocol.field.packet; -import com.zfoo.protocol.IPacket; + import java.util.Objects; -public class InnerObjectObject implements IPacket { +public class InnerObjectObject { private InnerObject a; private InnerObject b; diff --git a/protocol/src/test/java/com/zfoo/protocol/field/packet/IntObject.java b/protocol/src/test/java/com/zfoo/protocol/field/packet/IntObject.java index 8bdb0f01..0d85d2b1 100644 --- a/protocol/src/test/java/com/zfoo/protocol/field/packet/IntObject.java +++ b/protocol/src/test/java/com/zfoo/protocol/field/packet/IntObject.java @@ -1,10 +1,10 @@ package com.zfoo.protocol.field.packet; -import com.zfoo.protocol.IPacket; + import java.util.Objects; -public class IntObject implements IPacket { +public class IntObject { private int a; private int b; diff --git a/protocol/src/test/java/com/zfoo/protocol/field/packet/IntegerObject.java b/protocol/src/test/java/com/zfoo/protocol/field/packet/IntegerObject.java index 9ec12ef0..f841e21f 100644 --- a/protocol/src/test/java/com/zfoo/protocol/field/packet/IntegerObject.java +++ b/protocol/src/test/java/com/zfoo/protocol/field/packet/IntegerObject.java @@ -1,10 +1,10 @@ package com.zfoo.protocol.field.packet; -import com.zfoo.protocol.IPacket; + import java.util.Objects; -public class IntegerObject implements IPacket { +public class IntegerObject { private Integer a; private Integer b; diff --git a/protocol/src/test/java/com/zfoo/protocol/field/packet/ListIntegerObject.java b/protocol/src/test/java/com/zfoo/protocol/field/packet/ListIntegerObject.java index 6716ca15..a42c4c23 100644 --- a/protocol/src/test/java/com/zfoo/protocol/field/packet/ListIntegerObject.java +++ b/protocol/src/test/java/com/zfoo/protocol/field/packet/ListIntegerObject.java @@ -1,11 +1,11 @@ package com.zfoo.protocol.field.packet; -import com.zfoo.protocol.IPacket; + import java.util.List; import java.util.Objects; -public class ListIntegerObject implements IPacket { +public class ListIntegerObject { private List a; private List b; diff --git a/protocol/src/test/java/com/zfoo/protocol/field/packet/MapObject.java b/protocol/src/test/java/com/zfoo/protocol/field/packet/MapObject.java index bffce752..ffd25f3d 100644 --- a/protocol/src/test/java/com/zfoo/protocol/field/packet/MapObject.java +++ b/protocol/src/test/java/com/zfoo/protocol/field/packet/MapObject.java @@ -1,11 +1,11 @@ package com.zfoo.protocol.field.packet; -import com.zfoo.protocol.IPacket; + import java.util.Map; import java.util.Objects; -public class MapObject implements IPacket { +public class MapObject { private Map a; private Map b; diff --git a/protocol/src/test/java/com/zfoo/protocol/field/packet/SetObject.java b/protocol/src/test/java/com/zfoo/protocol/field/packet/SetObject.java index 7a5af7b9..61f9bd7c 100644 --- a/protocol/src/test/java/com/zfoo/protocol/field/packet/SetObject.java +++ b/protocol/src/test/java/com/zfoo/protocol/field/packet/SetObject.java @@ -1,11 +1,11 @@ package com.zfoo.protocol.field.packet; -import com.zfoo.protocol.IPacket; + import java.util.Objects; import java.util.Set; -public class SetObject implements IPacket { +public class SetObject { private Set a; private Set b; diff --git a/protocol/src/test/java/com/zfoo/protocol/field/packet/StringObject.java b/protocol/src/test/java/com/zfoo/protocol/field/packet/StringObject.java index b6d85af0..7cbdb365 100644 --- a/protocol/src/test/java/com/zfoo/protocol/field/packet/StringObject.java +++ b/protocol/src/test/java/com/zfoo/protocol/field/packet/StringObject.java @@ -1,10 +1,10 @@ package com.zfoo.protocol.field.packet; -import com.zfoo.protocol.IPacket; + import java.util.Objects; -public class StringObject implements IPacket { +public class StringObject { private String a; private String b; diff --git a/protocol/src/test/java/com/zfoo/protocol/jprotobuf/ObjectA.java b/protocol/src/test/java/com/zfoo/protocol/jprotobuf/ObjectA.java index 95ec65fb..55c068e7 100644 --- a/protocol/src/test/java/com/zfoo/protocol/jprotobuf/ObjectA.java +++ b/protocol/src/test/java/com/zfoo/protocol/jprotobuf/ObjectA.java @@ -14,7 +14,6 @@ package com.zfoo.protocol.jprotobuf; import com.baidu.bjf.remoting.protobuf.annotation.Protobuf; -import com.zfoo.protocol.IPacket; import com.zfoo.protocol.anno.Protocol; import java.util.Map; @@ -27,7 +26,7 @@ import java.util.Map; * @version 3.0 */ @Protocol(id = 102) -public class ObjectA implements IPacket { +public class ObjectA { // int类型,在protobuf中叫int32 diff --git a/protocol/src/test/java/com/zfoo/protocol/jprotobuf/ObjectB.java b/protocol/src/test/java/com/zfoo/protocol/jprotobuf/ObjectB.java index 3c298bb3..a05e8975 100644 --- a/protocol/src/test/java/com/zfoo/protocol/jprotobuf/ObjectB.java +++ b/protocol/src/test/java/com/zfoo/protocol/jprotobuf/ObjectB.java @@ -14,7 +14,6 @@ package com.zfoo.protocol.jprotobuf; import com.baidu.bjf.remoting.protobuf.annotation.Protobuf; -import com.zfoo.protocol.IPacket; import com.zfoo.protocol.anno.Protocol; /** @@ -22,7 +21,7 @@ import com.zfoo.protocol.anno.Protocol; * @version 3.0 */ @Protocol(id = 103) -public class ObjectB implements IPacket { +public class ObjectB { @Protobuf(order = 1) public boolean flag; diff --git a/protocol/src/test/java/com/zfoo/protocol/jprotobuf/ObjectC.java b/protocol/src/test/java/com/zfoo/protocol/jprotobuf/ObjectC.java index 9e3b2318..ab523624 100644 --- a/protocol/src/test/java/com/zfoo/protocol/jprotobuf/ObjectC.java +++ b/protocol/src/test/java/com/zfoo/protocol/jprotobuf/ObjectC.java @@ -14,7 +14,6 @@ package com.zfoo.protocol.jprotobuf; import com.baidu.bjf.remoting.protobuf.annotation.Protobuf; -import com.zfoo.protocol.IPacket; import com.zfoo.protocol.anno.Protocol; import java.util.Map; @@ -26,7 +25,7 @@ import java.util.Map; * @version 3.0 */ @Protocol(id = 104) -public class ObjectC implements IPacket { +public class ObjectC { // int类型,在protobuf中叫int32 @Protobuf(order = 1) diff --git a/protocol/src/test/java/com/zfoo/protocol/packet/ComplexObject.java b/protocol/src/test/java/com/zfoo/protocol/packet/ComplexObject.java index a089f290..e2ca991b 100644 --- a/protocol/src/test/java/com/zfoo/protocol/packet/ComplexObject.java +++ b/protocol/src/test/java/com/zfoo/protocol/packet/ComplexObject.java @@ -13,7 +13,7 @@ package com.zfoo.protocol.packet; -import com.zfoo.protocol.IPacket; + import com.zfoo.protocol.anno.Compatible; import com.zfoo.protocol.anno.Note; import com.zfoo.protocol.anno.Protocol; @@ -21,7 +21,7 @@ import com.zfoo.protocol.anno.Protocol; import java.util.*; @Protocol(id = 100, note = "复杂的对象,包括了各种复杂的结构,数组,List,Set,Map") -public class ComplexObject implements IPacket { +public class ComplexObject { @Note("byte类型,最简单的整形") diff --git a/protocol/src/test/java/com/zfoo/protocol/packet/EmptyObject.java b/protocol/src/test/java/com/zfoo/protocol/packet/EmptyObject.java index 818ddc78..530e9e06 100644 --- a/protocol/src/test/java/com/zfoo/protocol/packet/EmptyObject.java +++ b/protocol/src/test/java/com/zfoo/protocol/packet/EmptyObject.java @@ -12,10 +12,10 @@ package com.zfoo.protocol.packet; -import com.zfoo.protocol.IPacket; + /** * @author godotg */ -public class EmptyObject implements IPacket { +public class EmptyObject { } diff --git a/protocol/src/test/java/com/zfoo/protocol/packet/NormalObject.java b/protocol/src/test/java/com/zfoo/protocol/packet/NormalObject.java index 275dadbf..b6d8f370 100644 --- a/protocol/src/test/java/com/zfoo/protocol/packet/NormalObject.java +++ b/protocol/src/test/java/com/zfoo/protocol/packet/NormalObject.java @@ -13,7 +13,7 @@ package com.zfoo.protocol.packet; -import com.zfoo.protocol.IPacket; + import com.zfoo.protocol.anno.Protocol; import java.util.List; @@ -25,7 +25,7 @@ import java.util.Set; * @version 3.0 */ @Protocol(id = 101) -public class NormalObject implements IPacket { +public class NormalObject { private byte a; private byte[] aaa; diff --git a/protocol/src/test/java/com/zfoo/protocol/packet/ObjectA.java b/protocol/src/test/java/com/zfoo/protocol/packet/ObjectA.java index 011beb10..40105c3f 100644 --- a/protocol/src/test/java/com/zfoo/protocol/packet/ObjectA.java +++ b/protocol/src/test/java/com/zfoo/protocol/packet/ObjectA.java @@ -13,7 +13,7 @@ package com.zfoo.protocol.packet; -import com.zfoo.protocol.IPacket; + import com.zfoo.protocol.anno.Protocol; import java.util.Map; @@ -24,7 +24,7 @@ import java.util.Objects; * @version 3.0 */ @Protocol(id = 102) -public class ObjectA implements IPacket { +public class ObjectA { private int a; diff --git a/protocol/src/test/java/com/zfoo/protocol/packet/ObjectB.java b/protocol/src/test/java/com/zfoo/protocol/packet/ObjectB.java index a4c305f2..927a6b86 100644 --- a/protocol/src/test/java/com/zfoo/protocol/packet/ObjectB.java +++ b/protocol/src/test/java/com/zfoo/protocol/packet/ObjectB.java @@ -13,7 +13,7 @@ package com.zfoo.protocol.packet; -import com.zfoo.protocol.IPacket; + import com.zfoo.protocol.anno.Protocol; import java.util.Objects; @@ -23,7 +23,7 @@ import java.util.Objects; * @version 3.0 */ @Protocol(id = 103) -public class ObjectB implements IPacket { +public class ObjectB { private boolean flag; diff --git a/protocol/src/test/java/com/zfoo/protocol/packet/SimpleObject.java b/protocol/src/test/java/com/zfoo/protocol/packet/SimpleObject.java index 7abb6d5f..6651954b 100644 --- a/protocol/src/test/java/com/zfoo/protocol/packet/SimpleObject.java +++ b/protocol/src/test/java/com/zfoo/protocol/packet/SimpleObject.java @@ -13,7 +13,7 @@ package com.zfoo.protocol.packet; -import com.zfoo.protocol.IPacket; + import com.zfoo.protocol.anno.Protocol; /** @@ -21,7 +21,7 @@ import com.zfoo.protocol.anno.Protocol; * @version 3.0 */ @Protocol(id = 104) -public class SimpleObject implements IPacket { +public class SimpleObject { private int c; diff --git a/protocol/src/test/java/com/zfoo/protocol/packet/VeryBigObject.java b/protocol/src/test/java/com/zfoo/protocol/packet/VeryBigObject.java index 05b4cdca..292131f0 100644 --- a/protocol/src/test/java/com/zfoo/protocol/packet/VeryBigObject.java +++ b/protocol/src/test/java/com/zfoo/protocol/packet/VeryBigObject.java @@ -15,7 +15,6 @@ package com.zfoo.protocol.packet; import com.esotericsoftware.kryo.io.Input; import com.esotericsoftware.kryo.io.Output; -import com.zfoo.protocol.IPacket; import com.zfoo.protocol.ProtocolManager; import com.zfoo.protocol.util.StringUtils; import io.netty.buffer.ByteBuf; @@ -33,7 +32,7 @@ import static com.zfoo.protocol.SpeedTest.*; /** * 主要来测试极端大的对象序列化和反序列化情况,极端大的对象指的是字段多,对象大,方法大 */ -public class VeryBigObject implements IPacket { +public class VeryBigObject { @Ignore @Test