New file |
| | |
| | | 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 RtuComResultCache { |
| | | |
| | | //TCP下行命令缓存队列 |
| | | private static Queue cacheQueue = new Queue("RtuComResultCache") ; |
| | | |
| | | private static RtuComResultCache instance = new RtuComResultCache() ; |
| | | |
| | | private RtuComResultCache(){ |
| | | cacheQueue.setLimit(ServerProperties.cacheUpDownDataWarnCount, ServerProperties.cacheUpDownDataMaxCount); |
| | | } |
| | | |
| | | public static RtuComResultCache getInstance(){ |
| | | return instance ; |
| | | } |
| | | |
| | | /** |
| | | * 缓存节点 |
| | | * @param node node |
| | | * @throws Exception 异常 |
| | | */ |
| | | public static void cacheRtuComResult(RtuComResultNode node) throws Exception{ |
| | | if(node != null && node.obj != null){ |
| | | cacheQueue.pushHead(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() ; |
| | | } |
| | | |
| | | } |