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