org.apache.activeio.packet
Class PacketPool

java.lang.Object
  extended by org.apache.activeio.packet.PacketPool
Direct Known Subclasses:
ByteBufferPacketPool

public abstract class PacketPool
extends Object

Provides a simple pool of Packet objects. When the packets that this pool produces are disposed, they are returned to the pool.

Version:
$Revision: 1.1 $

Nested Class Summary
 class PacketPool.PooledPacket
           
 
Field Summary
static int DEFAULT_PACKET_SIZE
           
static int DEFAULT_POOL_SIZE
           
 
Constructor Summary
PacketPool(int maxPackets)
           
 
Method Summary
protected abstract  Packet allocateNewPacket()
           
 void dispose()
           
 Packet getPacket()
          Blocks until a ByteBuffer can be retreived from the pool.
 void waitForPacketsToReturn()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_POOL_SIZE

public static final int DEFAULT_POOL_SIZE

DEFAULT_PACKET_SIZE

public static final int DEFAULT_PACKET_SIZE
Constructor Detail

PacketPool

public PacketPool(int maxPackets)
Parameters:
maxPackets - the number of buffers that will be in the pool.
Method Detail

getPacket

public Packet getPacket()
                 throws InterruptedException
Blocks until a ByteBuffer can be retreived from the pool.

Returns:
Throws:
InterruptedException

dispose

public void dispose()

waitForPacketsToReturn

public void waitForPacketsToReturn()

allocateNewPacket

protected abstract Packet allocateNewPacket()
Returns:


Copyright © 2005-2011 Apache Software Foundation. All Rights Reserved.