📄 messagequeue.java
字号:
/*
* Copyright 1999 by dreamBean Software,
* All rights reserved.
*/
package masteringrmi.chat.server;
import java.rmi.RemoteException;
import java.util.ArrayList;
import masteringrmi.chat.interfaces.*;
/**
* This is a message queue for the chat server.
*
* @see TopicServerImpl
* @author Rickard 謆erg (rickard@dreambean.com)
* @version $Revision:$
*/
class MessageQueue
{
// Attributes ----------------------------------------------------
ArrayList messageQueue = new ArrayList();
Listener listener;
// Constructors --------------------------------------------------
MessageQueue(Listener listener)
{
this.listener = listener;
}
// Package protected ---------------------------------------------
synchronized void add(Message message)
{
messageQueue.add(message);
}
synchronized int send()
throws RemoteException
{
int messageCount = messageQueue.size();
// Check nr of messages to send
if (messageCount == 1)
{
// Send the message
listener.getListener().messagePublished((Message)messageQueue.get(0));
} else
{
// Send all messages
listener.getListener().messagePublished(messageQueue);
}
// Remove messages
messageQueue.clear();
return messageCount;
}
synchronized Listener getListener()
{
return listener;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -