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() ; } }