public synchronized void initialiseSendWindow ( long sendWindow , long definedSendWindow ) throws SIResourceException { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . entry ( this , tc , "initialiseSendWindow" , new Object [ ] { Long . valueOf ( sendWindow ) , Long . valueOf ( definedSendWindow ) } ) ; // Prior to V7 the sendWindow was not persisted unless it was modified due to a change in // reachability, otherwise it was stored as INFINITY (Long.MAX_VALUE). Therefore, if the // defined sendWindow was modified we could be in the situation where before a restart we // had 1000 messages indoubt, then shut the ME down, changes the defined sendWindow to 50 // and restarted. At that point we'd set the sendWindow to 50 and suddenly we'd have 950 // available messages again (not indoubt). We'd then be allowed to reallocate them elsewhere! // Luckily, the ability to modify the sendWindow wasn't correctly exposed prior to V7 (it's // now a custom property), so no-one could have modified it. So, we can interpret a value // of INFINITY as the original sendWindow value, which is 1000. And use that when we see it. if ( sendWindow == RangeList . INFINITY ) { this . definedSendWindow = definedSendWindow ; this . sendWindow = 1000 ; // Original default sendWindow // Now persist the 1000 to make it clearer persistSendWindow ( this . sendWindow , null ) ; } else { this . sendWindow = sendWindow ; this . definedSendWindow = definedSendWindow ; } if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . exit ( tc , "initialiseSendWindow" ) ; }
this value straight away and also that we don t need to persist it