messagequeue.java

来自「一个基于RMI的网络聊天室」· Java 代码 · 共 63 行

JAVA
63
字号
/*
 * Copyright 1999 by dreamBean Software,
 * All rights reserved.
 */


import java.rmi.RemoteException;
import java.util.ArrayList;


/**
 *   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 void 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 + -
显示快捷键?