src/org/sipdroid/net/tools/RtpPktPool.java
changeset 823 2036ebfaccda
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/org/sipdroid/net/tools/RtpPktPool.java	Fri Nov 20 19:29:42 2009 +0100
@@ -0,0 +1,44 @@
+package org.sipdroid.net.tools;
+
+import jlibrtp.RtpPkt;
+
+public class RtpPktPool extends ObjectPool {
+
+	private static RtpPktPool instance = null;
+	public static RtpPktPool getInstance() {
+		if(instance == null) {
+			instance = new RtpPktPool(20);
+		}
+		return instance;
+	}
+	
+	public static void removeInstance() {
+		instance = null;
+	}
+	
+	protected RtpPktPool(int nbObject) {
+		super(nbObject);
+		for(int i = 0; i < nbObject; ++i) {
+			checkIn(create());
+		}
+	}
+	
+	@Override
+	Object create() {
+		return new RtpPkt();
+	}
+
+	@Override
+	boolean validate(Object o) {
+		return true;
+	}
+
+	public RtpPkt borrowPkt() {
+		return (RtpPkt) super.checkOut();
+	}
+	
+	public void returnPkt(RtpPkt o) {
+		super.checkIn(o);
+	}
+	
+}