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 }