Browse Source

修改为堆内内存

xiuwei 3 years ago
parent
commit
b48eebe7a9

+ 4 - 4
pom.xml

@@ -6,7 +6,7 @@
 
     <groupId>wei.yigulu</groupId>
     <artifactId>protocol</artifactId>
-    <version>1.2.24</version>
+    <version>1.2.25</version>
     <packaging>pom</packaging>
     <modules>
         <module>protocol-core</module>
@@ -32,9 +32,9 @@
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
         <java.version>1.8</java.version>
-        <protocol.version>1.2.24</protocol.version>
-        <iec104.version>1.4.29</iec104.version>
-        <modbus.version>1.2.9</modbus.version>
+        <protocol.version>1.2.25</protocol.version>
+        <iec104.version>1.4.30</iec104.version>
+        <modbus.version>1.2.10</modbus.version>
         <cdt.version>1.0.2</cdt.version>
     </properties>
     <distributionManagement>

+ 2 - 2
protocol-all/pom.xml

@@ -6,14 +6,14 @@
     <parent>
         <artifactId>protocol</artifactId>
         <groupId>wei.yigulu</groupId>
-        <version>1.2.24</version>
+        <version>1.2.25</version>
     </parent>
 
 
 
     <packaging>jar</packaging>
     <artifactId>protocol-all</artifactId>
-    <version>1.2.24</version>
+    <version>1.2.25</version>
 
     <dependencies>
         <dependency>

+ 1 - 1
protocol-cdt/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>protocol</artifactId>
         <groupId>wei.yigulu</groupId>
-        <version>1.2.24</version>
+        <version>1.2.25</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
protocol-core/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>protocol</artifactId>
         <groupId>wei.yigulu</groupId>
-        <version>1.2.24</version>
+        <version>1.2.25</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 5 - 1
protocol-core/src/main/java/wei/yigulu/netty/AbstractTcpMasterBuilder.java

@@ -2,6 +2,8 @@ package wei.yigulu.netty;
 
 
 import io.netty.bootstrap.Bootstrap;
+import io.netty.buffer.PooledByteBufAllocator;
+import io.netty.channel.AdaptiveRecvByteBufAllocator;
 import io.netty.channel.ChannelFutureListener;
 import io.netty.channel.ChannelOption;
 import io.netty.channel.EventLoopGroup;
@@ -112,7 +114,7 @@ public abstract class AbstractTcpMasterBuilder extends AbstractMasterBuilder {
 	@Override
 	public EventLoopGroup getOrCreateWorkGroup() {
 		if (this.workGroup == null || this.workGroup.isShutdown()) {
-			this.workGroup = new NioEventLoopGroup();
+			this.workGroup = new NioEventLoopGroup(2);
 		}
 		return this.workGroup;
 	}
@@ -126,6 +128,8 @@ public abstract class AbstractTcpMasterBuilder extends AbstractMasterBuilder {
 					.channel(NioSocketChannel.class)
 					.handler(getOrCreateChannelInitializer());
 			bootstrap.option(ChannelOption.SO_KEEPALIVE, false);
+			bootstrap.option(ChannelOption.ALLOCATOR, PooledByteBufAllocator.DEFAULT);
+			bootstrap.option(ChannelOption.RCVBUF_ALLOCATOR, AdaptiveRecvByteBufAllocator.DEFAULT);
 			bootstrap.option(ChannelOption.CONNECT_TIMEOUT_MILLIS, 1000);
 		}
 		return this.bootstrap;

+ 1 - 1
protocol-iec104/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>protocol</artifactId>
         <groupId>wei.yigulu</groupId>
-        <version>1.2.24</version>
+        <version>1.2.25</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 3 - 2
protocol-iec104/src/main/java/wei/yigulu/iec104/apdumodel/Apdu.java

@@ -259,13 +259,14 @@ public class Apdu {
 		} else {
 			bb = uHandleAndAnswer();
 		}
-		ByteBuf buffer = Unpooled.compositeBuffer();
 		if (bb != null) {
+		ByteBuf buffer = Unpooled.compositeBuffer();
 			for (byte[] b : bb) {
 				buffer.writeBytes(b);
 			}
+			this.channel.pipeline().writeAndFlush(buffer);
 		}
-		this.channel.pipeline().writeAndFlush(buffer);
+
 	}
 
 	/**

+ 10 - 2
protocol-iec104/src/test/java/ClientTest.java

@@ -1,6 +1,14 @@
 
+import io.netty.channel.nio.AbstractNioByteChannel;
+import org.joda.time.DateTime;
+import wei.yigulu.iec104.apdumodel.Apdu;
+import wei.yigulu.iec104.apdumodel.Asdu;
+import wei.yigulu.iec104.asdudataframe.ProofreadTimeType;
+import wei.yigulu.iec104.asdudataframe.typemodel.IeProofreadTime;
+import wei.yigulu.iec104.asdudataframe.typemodel.InformationBodyAddress;
 import wei.yigulu.iec104.nettyconfig.Iec104HSMasterBuilder;
 import wei.yigulu.iec104.util.SendDataFrameHelper;
+import wei.yigulu.utils.DataConvertor;
 
 
 /**
@@ -14,9 +22,9 @@ public class ClientTest {
 
 
     public static void main(String[] args) throws Exception {
-        Iec104HSMasterBuilder a = new Iec104HSMasterBuilder("127.0.0.1", 2404);
+       Iec104HSMasterBuilder a = new Iec104HSMasterBuilder("127.0.0.1", 2404);
         a.createByUnBlock();
-
+       // AbstractNioByteChannel
         Thread.sleep(5000L);
         /*for (;;){
             Thread.sleep(3000L);

+ 1 - 10
protocol-iec104/src/test/java/NettyClient.java

@@ -38,19 +38,10 @@ public class NettyClient {
 					});
 			// 服务器异步创建绑定
 			ChannelFuture cf = sb.bind("127.0.0.1",2404);
-			System.out.println("1"+cf.isSuccess());
 			cf.sync();
-			System.out.println("2"+cf.isSuccess());
-
-			System.out.println("4"+cf.isDone());
-			System.out.println(cf.getClass().getSimpleName());
 			// 关闭服务器通道
 			ChannelFuture ff = cf.channel().closeFuture();
-			System.out.println(ff.getClass().getSimpleName());
-			System.out.println(ff.sync());
-			System.out.println("is=="+ (cf==ff));
-			System.out.println(cf.isDone());
-			System.out.println("3"+cf.isSuccess());
+
 
 		} catch (InterruptedException e) {
 			e.printStackTrace();

+ 12 - 3
protocol-iec104/src/test/java/TestTotalS.java

@@ -3,10 +3,16 @@
  * @version:
  */
 
+import org.joda.time.DateTime;
 import wei.yigulu.iec104.annotation.AsduType;
 import wei.yigulu.iec104.apdumodel.Apdu;
+import wei.yigulu.iec104.apdumodel.Asdu;
+import wei.yigulu.iec104.asdudataframe.ProofreadTimeType;
 import wei.yigulu.iec104.asdudataframe.TotalSummonType;
+import wei.yigulu.iec104.asdudataframe.typemodel.IeProofreadTime;
+import wei.yigulu.iec104.asdudataframe.typemodel.InformationBodyAddress;
 import wei.yigulu.iec104.util.SendDataFrameHelper;
+import wei.yigulu.utils.DataConvertor;
 
 import java.util.HashMap;
 import java.util.Map;
@@ -14,14 +20,17 @@ import java.util.Map;
 @AsduType
 public class TestTotalS extends TotalSummonType {
 
-	@Override
-	public byte[][] handleAndAnswer(Apdu apdu) throws Exception {
+    @Override
+    public byte[][] handleAndAnswer(Apdu apdu) throws Exception {
 		Map<Integer,Number> booleans=new HashMap<>();
 		for(int i =0 ;i<100;i++){
 			booleans.put(16385+i,0.2);
 		}
 		SendDataFrameHelper.sendYcDataFrame(apdu.getChannel(),booleans,1,20,null);
 		return null;
-	}
+
+
+
+    }
 
 }

+ 1 - 1
protocol-modbus/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>protocol</artifactId>
         <groupId>wei.yigulu</groupId>
-        <version>1.2.24</version>
+        <version>1.2.25</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <version>${modbus.version}</version>