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 Details

    • minBufferSize

      public int minBufferSize()
      Specified by:
      minBufferSize in interface com.fishlib.io.sched.PooledMessage.Pool
    • maxBufferSize

      public int maxBufferSize()
      Specified by:
      maxBufferSize in interface com.fishlib.io.sched.PooledMessage.Pool
    • get

      public com.fishlib.io.sched.PooledMessage get​(int neededSize)
      Specified by:
      get in interface com.fishlib.io.sched.PooledMessage.Pool
    • get

      public com.fishlib.io.sched.PooledMessage get()
      Specified by:
      get in interface com.fishlib.io.sched.PooledMessage.Pool
    • recycle

      public void recycle​(com.fishlib.io.sched.PooledMessage m)
      Specified by:
      recycle in interface com.fishlib.io.sched.PooledMessage.Pool