public Packet getPacket()

in activeio-core/src/main/java/org/apache/activeio/packet/PacketPool.java [81:99]


	public Packet getPacket() throws InterruptedException {
	    Packet answer=null;
		synchronized(this) {
			while(answer==null) {
                 if( disposed )
                     return null;                 
				if( pool.size()>0) {
					answer = (Packet) pool.remove(pool.size()-1);
				} else if( currentPoolSize < maxPackets ) {
                     answer = allocateNewPacket();
                     currentPoolSize++;
                 }
				if( answer==null ) {
					this.wait();
				}
			}
		}
		return new PooledPacket(answer);
	}