⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 msggroupfactory.java

📁 JAVA解析MSNP15协议
💻 JAVA
字号:
package jm.framework.msn.msg.group;

import java.util.LinkedList;

import jm.framework.msn.action.C2SMessageI;
import jm.framework.msn.action.S2CMessageI;
import jm.framework.msn.msg.LoginMessage;

/**
 * 信息队列
 * 梦界家园MSNP15
 * @author ISHome
 * @since 0.5.0.1
 * @version 0.1
 */
public class MsgGroupFactory implements C2SMessageGroupI, S2CMessageGroupI {

	public MsgGroupFactory() {
		this.S2CMessages = new LinkedList<S2CMessageI>();
		this.C2SMessages = new LinkedList<C2SMessageI>();
		this.LoginMessages = new LinkedList<LoginMessage>();
	}

	/** 服务器信息队列*/
	private LinkedList<S2CMessageI> S2CMessages;
	/** 客户端信息队列*/
	private LinkedList<C2SMessageI> C2SMessages;
	/** 登录用信息*/
	private LinkedList<LoginMessage> LoginMessages;

	@Override
	public synchronized void addOutMessage(C2SMessageI msg) {
		C2SMessages.add(msg);
	}

	@Override
	public synchronized C2SMessageI getOutMessage() {
		if (C2SMessages.size() > 0) {
			C2SMessageI out = C2SMessages.getFirst();
			C2SMessages.removeFirst();
			// TODO Auto-generated method stub
			return out;
		}
		return null;
	}

	@Override
	public synchronized int getOutMessageCount() {
		return C2SMessages.size();
	}

	@Override
	public synchronized void addInMessage(S2CMessageI msg) {
		S2CMessages.add(msg);
	}

	@Override
	public synchronized S2CMessageI getInMessage() {
		if (S2CMessages.size() > 0) {
			S2CMessageI in = S2CMessages.getFirst();
			S2CMessages.removeFirst();
			return in;
		}
		return null;
	}

	@Override
	public synchronized int getInMessageCount() {
		return S2CMessages.size();
	}

	//////////////////////////////////////////////////
	public synchronized void addLoginMessage(LoginMessage msg) {
		LoginMessages.add(msg);
	}
	public LinkedList<LoginMessage> getLoginMessages() {
    	return LoginMessages;
    }
	
	public LoginMessage getLoginMessage() {
		if (LoginMessages.size() > 0) {
			LoginMessage out = LoginMessages.getFirst();
			LoginMessages.removeFirst();
			return out;
		}
		return null;
    }

	public synchronized int getLoginMessagesCount() {
		return LoginMessages.size();
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -