Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: org/zazof/jtegServer/MessagePool.java


1   package org.zazof.jtegServer;
2   
3   import java.util.*;
4   import org.apache.log4j.Category;
5   
6   public class MessagePool{
7   
8     /**
9      * creates a MessagePool with initial number messages
10     */
11    public MessagePool(int number){
12      $messageCount = number;
13      $messages = new Vector(number);
14      for(int i = 0; i<number; i++){
15        $messages.add(new Message(this));
16      }
17      log.debug("created message pool with " + $messageCount + " objects.");
18    }
19  
20    /**
21     * returns an empty message
22     */
23    public synchronized Message getMessage(){
24      if ($messageCount == 0) return new Message(this);
25      $messageCount--;
26      log.debug("pool size: " + $messageCount);
27      return (Message) $messages.elementAt($messageCount);
28    }
29  
30    public synchronized void addMessage(Message m){
31      $messageCount++;
32      log.debug("pool size: " + $messageCount);
33      $messages.add(m);
34    }
35  
36    private Vector $messages;
37    private int $messageCount;
38  
39    static Category log = Category.getInstance("control.MessagePool");
40  }