Class VariableMessagePool
java.lang.Object
com.illumon.iris.db.v2.logaggregator.VariableMessagePool
- All Implemented Interfaces:
com.fishlib.io.sched.PooledMessage.Pool
public class VariableMessagePool extends Object implements com.fishlib.io.sched.PooledMessage.Pool
Maintain pools of buffers of multiple lengths.
Hand out buffers of appropriate size via get(neededSize).
At this point specific for Log Aggregator use, but easily generalized.
Note: this could be implemented as an array of SimpleMessagePools, but there are a couple of drawbacks.
- log messages are less clear
- grabbing the next size up is difficult
- multiple sets of (disjoint) stats
-
Method Summary
Modifier and Type Method Description com.fishlib.io.sched.PooledMessage
get()
com.fishlib.io.sched.PooledMessage
get(int neededSize)
int
maxBufferSize()
int
minBufferSize()
void
recycle(com.fishlib.io.sched.PooledMessage m)
-
Method Details
-
minBufferSize
public int minBufferSize()- Specified by:
minBufferSize
in interfacecom.fishlib.io.sched.PooledMessage.Pool
-
maxBufferSize
public int maxBufferSize()- Specified by:
maxBufferSize
in interfacecom.fishlib.io.sched.PooledMessage.Pool
-
get
public com.fishlib.io.sched.PooledMessage get(int neededSize)- Specified by:
get
in interfacecom.fishlib.io.sched.PooledMessage.Pool
-
get
public com.fishlib.io.sched.PooledMessage get()- Specified by:
get
in interfacecom.fishlib.io.sched.PooledMessage.Pool
-
recycle
public void recycle(com.fishlib.io.sched.PooledMessage m)- Specified by:
recycle
in interfacecom.fishlib.io.sched.PooledMessage.Pool
-