public void processAckExpected ( long stamp ) { if ( tc . isEntryEnabled ( ) ) SibTr . entry ( tc , "processAckExpected" , new Object [ ] { new Long ( stamp ) } ) ; synchronized ( this ) { // Send Ack message for ticks up to iack sendAck ( ) ; // Send Nack message for ticks between iack and stamp if ( stamp > iack ) { try { upControl . sendNackMessage ( null , null , null , iack + 1 , stamp , priority , reliability , streamID ) ; } catch ( SIResourceException e ) { // FFDC FFDCFilter . processException ( e , "com.ibm.ws.sib.processor.gd.InternalInputStream.processAckExpected" , "1:379:1.42" , this ) ; SibTr . exception ( tc , e ) ; SibTr . error ( tc , "INTERNAL_MESSAGING_ERROR_CWSIP0002" , new Object [ ] { "com.ibm.ws.sib.processor.gd.InternalInputStream" , "1:386:1.42" , e } ) ; if ( tc . isEntryEnabled ( ) ) SibTr . exit ( tc , "processAckExpected" , e ) ; throw new SIErrorException ( nls . getFormattedMessage ( "INTERNAL_MESSAGING_ERROR_CWSIP0002" , new Object [ ] { "com.ibm.ws.sib.processor.gd.InternalInputStream" , "1:397:1.42" , e } , null ) , e ) ; } } } if ( tc . isEntryEnabled ( ) ) SibTr . exit ( tc , "processAckExpected" ) ; }
This method will send an Ack up to the current aggregated Ack prefix and send a Nack for any ticks after this