| New file | 
|  |  |  | 
|---|
|  |  |  | package com.dy.rtuMw.server.forMs; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.dy.common.queue.Node; | 
|---|
|  |  |  | import com.dy.common.queue.Queue; | 
|---|
|  |  |  | import com.dy.rtuMw.server.ServerProperties; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * @Author: liurunyu | 
|---|
|  |  |  | * @Date: 2024/7/31 18:47 | 
|---|
|  |  |  | * @Description | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public class SendMsCache { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //TCP下行命令缓存队列 | 
|---|
|  |  |  | private static Queue cacheQueue = new Queue("SendMsCache") ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private static SendMsCache instance = new SendMsCache() ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private SendMsCache(){ | 
|---|
|  |  |  | cacheQueue.setLimit(ServerProperties.cacheUpDownDataWarnCount, ServerProperties.cacheUpDownDataMaxCount); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public static SendMsCache getInstance(){ | 
|---|
|  |  |  | return instance ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 缓存命令 | 
|---|
|  |  |  | * @param ms | 
|---|
|  |  |  | * @throws Exception | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public static void cacheMs(String ms) throws Exception{ | 
|---|
|  |  |  | cacheQueue.pushTail(new MsObj4Ding(ms)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 得到第一个节点 | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public static Node getFirstQueueNode(){ | 
|---|
|  |  |  | return cacheQueue.getFirstNode() ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 得到最后一个节点 | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | 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() ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|