From b3b17b231e2f2840332ce6eb96f791865fdec6d5 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期一, 14 四月 2025 16:38:16 +0800
Subject: [PATCH] 代码优化
---
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