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.PooledMessageget()com.fishlib.io.sched.PooledMessageget(int neededSize)intmaxBufferSize()intminBufferSize()voidrecycle(com.fishlib.io.sched.PooledMessage m)
-
Method Details
-
minBufferSize
public int minBufferSize()- Specified by:
minBufferSizein interfacecom.fishlib.io.sched.PooledMessage.Pool
-
maxBufferSize
public int maxBufferSize()- Specified by:
maxBufferSizein interfacecom.fishlib.io.sched.PooledMessage.Pool
-
get
public com.fishlib.io.sched.PooledMessage get(int neededSize)- Specified by:
getin interfacecom.fishlib.io.sched.PooledMessage.Pool
-
get
public com.fishlib.io.sched.PooledMessage get()- Specified by:
getin interfacecom.fishlib.io.sched.PooledMessage.Pool
-
recycle
public void recycle(com.fishlib.io.sched.PooledMessage m)- Specified by:
recyclein interfacecom.fishlib.io.sched.PooledMessage.Pool
-