static void rcvRegisterAsyncConsumer ( CommsByteBuffer request , Conversation conversation , int requestNumber , boolean allocatedFromBufferPool , boolean partOfExchange , boolean stoppable ) //SIB0115d.comms { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . entry ( tc , "rcvRegisterAsyncConsumer" , new Object [ ] { request , conversation , requestNumber , allocatedFromBufferPool , stoppable //SIB0115d.comms } ) ; short connectionObjectId = request . getShort ( ) ; // BIT16 ConnectionObjectId short consumerObjectId = request . getShort ( ) ; // BIT16 SyncConsumerSessionId short orderContextId = request . getShort ( ) ; // BIT16 OrderContextId short clientSessionId = request . getShort ( ) ; // BIT16 ClientSessionId int maxActiveMessages = request . getInt ( ) ; // BIT32 Max active messages long messageLockExpiry = request . getLong ( ) ; // BIT64 Message lock expiry int maxBatchSize = request . getInt ( ) ; // BIT32 Maximum batch size int maxSequentialFailures = 0 ; // BIT32 Max Sequental Failures SIB0115d.comms long hiddenMessageDelay = 0 ; // BIT64 hidden message delay // If stoppable get the maxSequentialFailures value if ( stoppable ) { //SIB0115d.comms maxSequentialFailures = request . getInt ( ) ; //SIB0115d.comms hiddenMessageDelay = request . getLong ( ) ; } //SIB0115d.comms if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isDebugEnabled ( ) ) { SibTr . debug ( tc , "connectionObjectID=" + connectionObjectId ) ; SibTr . debug ( tc , "consumerObjectID=" + consumerObjectId ) ; SibTr . debug ( tc , "orderContextID=" + orderContextId ) ; SibTr . debug ( tc , "clientSessionID=" + clientSessionId ) ; SibTr . debug ( tc , "maxActiveMessages=" + maxActiveMessages ) ; SibTr . debug ( tc , "messageLockExpiry=" + messageLockExpiry ) ; SibTr . debug ( tc , "maxBatchSize=" + maxBatchSize ) ; SibTr . debug ( tc , "maxSequentialFailures=" + maxSequentialFailures ) ; //SIB0115d.comms SibTr . debug ( tc , "hiddenMesageDelay=" + hiddenMessageDelay ) ; } ConversationState convState = ( ConversationState ) conversation . getAttachment ( ) ; CATMainConsumer mainConsumer = ( ( CATMainConsumer ) convState . getObject ( consumerObjectId ) ) ; OrderingContext orderContext = null ; // Get the message order context if there was one passed up if ( orderContextId != CommsConstants . NO_ORDER_CONTEXT ) { orderContext = ( ( CATOrderingContext ) convState . getObject ( orderContextId ) ) . getOrderingContext ( ) ; // F201521 } mainConsumer . setClientSessionId ( clientSessionId ) ; mainConsumer . setAsynchConsumerCallback ( requestNumber , maxActiveMessages , messageLockExpiry , maxBatchSize , orderContext , stoppable , //SIB0115d.comms maxSequentialFailures , hiddenMessageDelay ) ; //SIB0115d.comms request . release ( allocatedFromBufferPool ) ; if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . exit ( tc , "rcvRegisterAsyncConsumer" ) ; }
Register an asynchronous consumer for this consumer session .