From 959dcca95276888cd9c092d93d276ef9aa580aef Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期三, 30 四月 2025 16:26:19 +0800 Subject: [PATCH] 1、增加远程透传命令; 2、表阀一体机协议优化; --- pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/RtuDataCache.java | 70 +++++++++++++++++++++++++++++++++++ 1 files changed, 70 insertions(+), 0 deletions(-) diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/RtuDataCache.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/RtuDataCache.java new file mode 100644 index 0000000..21b50d0 --- /dev/null +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/RtuDataCache.java @@ -0,0 +1,70 @@ +package com.dy.rtuMw.server.rtuData; + +import com.dy.rtuMw.server.ServerProperties; +import com.dy.common.queue.Node; +import com.dy.common.queue.Queue; + +public class RtuDataCache { + + //TCP涓嬭鍛戒护缂撳瓨闃熷垪 + private static Queue cacheQueue = new Queue("tcpUpDataQueue") ; + + private static RtuDataCache instance = new RtuDataCache() ; + + private RtuDataCache(){ + cacheQueue.setLimit(ServerProperties.cacheUpDownDataWarnCount, ServerProperties.cacheUpDownDataMaxCount); + } + + public static RtuDataCache getInstance(){ + return instance ; + } + + /** + * 缂撳瓨鑺傜偣 + * @param reportOrResponse_trueOrFalse reportOrResponse_trueOrFalse + * @param node node + * @throws Exception 寮傚父 + */ + public static void cacheRtuUpData(boolean reportOrResponse_trueOrFalse, RtuDataNode node) throws Exception{ + if(node != null && node.obj != null){ + if(reportOrResponse_trueOrFalse){ + cacheQueue.pushHead(node); + }else{ + cacheQueue.pushTail(node); + } + } + } + + /** + * 寰楀埌绗竴涓妭鐐� + * @return Node + */ + public static Node getFirstQueueNode(){ + return cacheQueue.getFirstNode() ; + } + + /** + * 寰楀埌鏈�鍚庝竴涓妭鐐� + * @return Node + */ + public static Node getLastQueueNode(){ + return cacheQueue.getLastNode() ; + } + + /** + * 绉婚櫎鑺傜偣 + * @param node + */ + public static void removeNode(Node node){ + cacheQueue.remove(node); + } + + /** + * 缂撳瓨鐨勮妭鐐规暟 + * @Return 缂撳瓨鑺傜偣鏁� + */ + public static Integer size(){ + return cacheQueue.size() ; + } + +} -- Gitblit v1.8.0