<configs>
    <SessionOptions_defaults>
        <sessionReader_BufferSize>      150000 </sessionReader_BufferSize>
        <sessionReader_useDirectBuffer> true   </sessionReader_useDirectBuffer>
        <sessionReader_MessageStoreMessageSizes>
            256,
            1024,
            2048,
            4096,
            16384
        </sessionReader_MessageStoreMessageSizes>
                          <!-- selector modes>  KEY_ITERATOR, CHANNEL_LOOP  <-->
        <sessionReader_WireSelectorMode>        KEY_ITERATOR  </sessionReader_WireSelectorMode>
                          <!-- selector modes>  BLOCKING, SPINNING  <-->
        <sessionReader_WireSelectorWaitingMode> BLOCKING      </sessionReader_WireSelectorWaitingMode>
        <clientReader_WaitModeSpinTimer_maxTime_ms>  -1       </clientReader_WaitModeSpinTimer_maxTime_ms>
    </SessionOptions_defaults>
</configs>

  

parametercurrent valuedescription
sessionReader_BufferSize 15000ByteBuffer size for the Session's socket read call. This buffer acts as second socket read buffer. The total unprocessed bytes received is the sum of this buffer's size and the socket's receiveBuffer size. Be sure to set these values based on your message peak rates and message sizes less your Session reader's processing rate.
sessionReader_useDirectBuffer true use a Direct ByteBuffer predicate for the Session's socket read call..
sessionReader_MessageStoreMessageSizes 256, 1024, 2048, 4096, 16384 Store sizes. A store returns the next largest size requested. A Message lifecycle is alive until the client callback is completed, unless the client detaches and takes control of the message. This config is to efficiently use memory by matching message size to what is actually needed. When a message is completely read into the Session reader's ByteBuffer, the message is copied into a Message from the Store to be processed by the Session layer then passed to the Client layer.
Message sizes greater than the store maximum will be returned, but when the message is "reclaimed" it will not go into the store the - gc() will handle it.
sessionReader_WireSelectorMode KEY_ITERATOR one of [KEY_ITERATOR, CHANNEL_LOOP]. The KEY_ITERATOR mode uses the NIO Selector's key set to dispatch on the next socket event. The CHANNEL_LOOP mode ignores the selector and loops over all available channels.
sessionReader_WireSelectorWaitingMode BLOCKING one of [ BLOCKING, SPINNING ].The BLOCKNG mode waits on the NIO Selector. The Spinning mode ignores the Selector and continues to loop without blocking.
clientReader_WaitModeSpinTimer_maxTime_ms -1 For the Client Handler thread: When less than zero, no effect. When positive, this value attempts to split a long wait interval into a kernel wait time and a spin loop wait time. For example, the Client Handler thread wants to block for 60 seconds and believes the kernel could be 30 msecs late. By setting this value to 30, the thread's loop will call the NIO Selector's wait method with 59.7 seconds wait time. Once returned, if there are no events, the loop will enter into a spin-mode for the remaining time.