protected void handleStateRsp ( final Digest digest , Address sender , byte [ ] state ) { try { if ( isDigestNeeded ( ) ) { punchHoleFor ( sender ) ; closeBarrierAndSuspendStable ( ) ; // fix for https://jira.jboss.org/jira/browse/JGRP-1013 if ( digest != null ) down_prot . down ( new Event ( Event . OVERWRITE_DIGEST , digest ) ) ; // set the digest (e.g. in NAKACK) } waiting_for_state_response = false ; stop = System . currentTimeMillis ( ) ; log . debug ( "%s: received state, size=%s, time=%d milliseconds" , local_addr , ( state == null ? "0" : Util . printBytes ( state . length ) ) , stop - start ) ; StateTransferResult result = new StateTransferResult ( state ) ; up_prot . up ( new Event ( Event . GET_STATE_OK , result ) ) ; down_prot . down ( new Event ( Event . GET_VIEW_FROM_COORD ) ) ; // https://issues.jboss.org/browse/JGRP-1751 } catch ( Throwable t ) { handleException ( t ) ; } finally { if ( isDigestNeeded ( ) ) { closeHoleFor ( sender ) ; openBarrierAndResumeStable ( ) ; } } }
Set the digest and the send the state up to the application