Class Optimizer

    • Field Detail

      • mergeFactor

        private int mergeFactor
      • optimiezeGet

        private boolean optimiezeGet
      • optimiezeMergeBuffer

        private boolean optimiezeMergeBuffer
      • log

        private static final org.slf4j.Logger log
      • threadLocal

        private final java.lang.ThreadLocal<java.util.List<Command>> threadLocal
      • BIN_SET_CMD_COLLECTOR_THREAD_LOCAL

        private static final java.lang.ThreadLocal<Optimizer.BinarySetQCollector> BIN_SET_CMD_COLLECTOR_THREAD_LOCAL
      • TEXT_GET_CMD_COLLECTOR_THREAD_LOCAL

        private static java.lang.ThreadLocal<Optimizer.KeyStringCollector> TEXT_GET_CMD_COLLECTOR_THREAD_LOCAL
    • Constructor Detail

      • Optimizer

        public Optimizer​(Protocol protocol)
    • Method Detail

      • optimiezeMergeBuffer

        public final Command optimiezeMergeBuffer​(Command optimiezeCommand,
                                                  java.util.Queue writeQueue,
                                                  java.util.Queue<Command> executingCmds,
                                                  int sendBufferSize)
        merge buffers to fit socket's send buffer size
        Parameters:
        currentCommand -
        Returns:
        Throws:
        java.lang.InterruptedException
      • optimiezeGet

        public final Command optimiezeGet​(java.util.Queue writeQueue,
                                          java.util.Queue<Command> executingCmds,
                                          Command optimiezeCommand)
        Merge get operation to multi-get operation
        Parameters:
        currentCmd -
        mergeCommands -
        Returns:
        Throws:
        java.lang.InterruptedException
      • optimiezeSet

        public final Command optimiezeSet​(java.util.Queue writeQueue,
                                          java.util.Queue<Command> executingCmds,
                                          Command optimiezeCommand,
                                          int sendBufferSize)
      • mergeBuffer

        private final Command mergeBuffer​(Command firstCommand,
                                          java.util.Queue writeQueue,
                                          java.util.Queue<Command> executingCmds,
                                          int sendBufferSize)
      • getLocalList

        public final java.util.List<Command> getLocalList()
      • mergeGetCommands

        private final Command mergeGetCommands​(Command currentCmd,
                                               java.util.Queue writeQueue,
                                               java.util.Queue<Command> executingCmds,
                                               CommandType expectedCommandType)
      • mergeSetCommands

        private final Command mergeSetCommands​(Command currentCmd,
                                               java.util.Queue writeQueue,
                                               java.util.Queue<Command> executingCmds,
                                               CommandType expectedCommandType,
                                               int sendBufferSize)