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