messagequeue.java

来自「最新的关于精通rmi这本书的源码」· Java 代码 · 共 64 行

JAVA
64
字号
/*
 * 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 + =
减小字号Ctrl + -
显示快捷键?