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 interface io.deephaven.enterprise.niowrapper.sched.PooledMessage.Pool
    • maxBufferSize

      public int maxBufferSize()
      Specified by:
      maxBufferSize in interface io.deephaven.enterprise.niowrapper.sched.PooledMessage.Pool
    • get

      public io.deephaven.enterprise.niowrapper.sched.PooledMessage get(int neededSize)
      Specified by:
      get in interface io.deephaven.enterprise.niowrapper.sched.PooledMessage.Pool
    • get

      public io.deephaven.enterprise.niowrapper.sched.PooledMessage get()
      Specified by:
      get in interface io.deephaven.enterprise.niowrapper.sched.PooledMessage.Pool
    • recycle

      public void recycle(io.deephaven.enterprise.niowrapper.sched.PooledMessage m)
      Specified by:
      recycle in interface io.deephaven.enterprise.niowrapper.sched.PooledMessage.Pool