Class VariableMessagePool
java.lang.Object
com.illumon.iris.db.v2.logaggregator.VariableMessagePool
- All Implemented Interfaces:
io.deephaven.enterprise.niowrapper.sched.PooledMessage.Pool
public class VariableMessagePool
extends Object
implements io.deephaven.enterprise.niowrapper.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 Details
-
minBufferSize
public int minBufferSize()- Specified by:
minBufferSize
in interfaceio.deephaven.enterprise.niowrapper.sched.PooledMessage.Pool
-
maxBufferSize
public int maxBufferSize()- Specified by:
maxBufferSize
in interfaceio.deephaven.enterprise.niowrapper.sched.PooledMessage.Pool
-
get
public io.deephaven.enterprise.niowrapper.sched.PooledMessage get(int neededSize) - Specified by:
get
in interfaceio.deephaven.enterprise.niowrapper.sched.PooledMessage.Pool
-
get
public io.deephaven.enterprise.niowrapper.sched.PooledMessage get()- Specified by:
get
in interfaceio.deephaven.enterprise.niowrapper.sched.PooledMessage.Pool
-
recycle
public void recycle(io.deephaven.enterprise.niowrapper.sched.PooledMessage m) - Specified by:
recycle
in interfaceio.deephaven.enterprise.niowrapper.sched.PooledMessage.Pool
-