// Path: brent-pusher-core/src/main/java/cn/brent/pusher/IPlugin.java
// public interface IPlugin {
// 
// 	void start();
// 	
// 	void stop();
// 
// }
// 
// Path: brent-pusher-core/src/main/java/cn/brent/pusher/session/ISessionManager.java
// public interface ISessionManager {
// 
// 	/** 连接队列 */
// 	final List<IPusherClient> clientQueue = new CopyOnWriteArrayList<IPusherClient>();
// 	
// 	/**
// 	 * 保存client
// 	 * @param client
// 	 */
// 	void saveConnect(IPusherClient client);
// 	
// 	/**
// 	 * 移除client
// 	 * @param client
// 	 */
// 	void removeConnect(IPusherClient client);
// 	
// 	/**
// 	 * 根据业务编码和key获取Session
// 	 * @param topic
// 	 * @param key
// 	 * @return
// 	 */
// 	Session getSession(String topic, String key);
// 	
// 	/**
// 	 * 移除Session
// 	 * @param topic
// 	 * @param key
// 	 */
// 	void removeSession(String topic, String key);
// 	
// 	/**
// 	 * 移除Session
// 	 * @param Session
// 	 */
// 	void removeSession(Session session);
// 	
// }


import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import cn.brent.pusher.IPlugin;
import cn.brent.pusher.session.ISessionManager;

package cn.brent.pusher.plugin;



public class MonitorPlugin implements IPlugin {
	
	protected Logger logger = LoggerFactory.getLogger("monitor");
	
	protected Thread monitorThread;
	
	/** 监控扫描间隔 单位毫秒   默认5分钟 */
	protected long monitorInterval = 5 * 60 * 1000;
	
	public MonitorPlugin(long monitorInterval) {
		this.monitorInterval = monitorInterval;
	}
	
	protected void log() {

// Path: brent-pusher-core/src/main/java/cn/brent/pusher/IPlugin.java
// public interface IPlugin {
// 
// 	void start();
// 	
// 	void stop();
// 
// }
// 
// Path: brent-pusher-core/src/main/java/cn/brent/pusher/session/ISessionManager.java
// public interface ISessionManager {
// 
// 	/** 连接队列 */
// 	final List<IPusherClient> clientQueue = new CopyOnWriteArrayList<IPusherClient>();
// 	
// 	/**
// 	 * 保存client
// 	 * @param client
// 	 */
// 	void saveConnect(IPusherClient client);
// 	
// 	/**
// 	 * 移除client
// 	 * @param client
// 	 */
// 	void removeConnect(IPusherClient client);
// 	
// 	/**
// 	 * 根据业务编码和key获取Session
// 	 * @param topic
// 	 * @param key
// 	 * @return
// 	 */
// 	Session getSession(String topic, String key);
// 	
// 	/**
// 	 * 移除Session
// 	 * @param topic
// 	 * @param key
// 	 */
// 	void removeSession(String topic, String key);
// 	
// 	/**
// 	 * 移除Session
// 	 * @param Session
// 	 */
// 	void removeSession(Session session);
// 	
// }


// Path: brent-pusher-core/src/main/java/cn/brent/pusher/plugin/MonitorPlugin.java
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import cn.brent.pusher.IPlugin;
import cn.brent.pusher.session.ISessionManager;

package cn.brent.pusher.plugin;



public class MonitorPlugin implements IPlugin {
	
	protected Logger logger = LoggerFactory.getLogger("monitor");
	
	protected Thread monitorThread;
	
	/** 监控扫描间隔 单位毫秒   默认5分钟 */
	protected long monitorInterval = 5 * 60 * 1000;
	
	public MonitorPlugin(long monitorInterval) {
		this.monitorInterval = monitorInterval;
	}
	
	protected void log() {

		logger.info(ISessionManager.clientQueue.size()+"");
