public void run() { try { log.debug("%s: getting the state from the application", local_addr); up_prot.up(new Event(Event.STATE_TRANSFER_OUTPUTSTREAM, output)); output.flush(); sendEof(requester); // send an EOF to the remote consumer } catch(Throwable e) { sendException(requester, e); // send the exception to the remote consumer } finally { if(isDigestNeeded()) { resumeStable(); // openBarrier(); // was done after getting the digest closeHoleFor(requester); } } } }
handleException(t); openBarrierAndResumeStable(); closeHoleFor(provider); return; if(isDigestNeeded()) { openBarrierAndResumeStable(); closeHoleFor(provider);
protected void setStateInApplication(InputStream in, Object resource, final Address provider) { log.debug("%s: setting the state in the aplication", local_addr); try { up_prot.up(new Event(Event.STATE_TRANSFER_INPUTSTREAM, in)); up_prot.up(new Event(Event.STATE_TRANSFER_INPUTSTREAM_CLOSED, new StateTransferResult())); down_prot.down(new Event(Event.GET_VIEW_FROM_COORD)); // https://issues.jboss.org/browse/JGRP-1751 } catch(Throwable t) { handleException(t); } finally { Util.close(in); close(resource); if(isDigestNeeded()) { openBarrierAndResumeStable(); closeHoleFor(provider); } } }
sendException(requester, t); resumeStable(); closeHoleFor(requester); return;
public void run() { try { log.debug("%s: getting the state from the application", local_addr); up_prot.up(new Event(Event.STATE_TRANSFER_OUTPUTSTREAM, output)); output.flush(); sendEof(requester); // send an EOF to the remote consumer } catch(Throwable e) { sendException(requester, e); // send the exception to the remote consumer } finally { if(isDigestNeeded()) { resumeStable(); // openBarrier(); // was done after getting the digest closeHoleFor(requester); } } } }
handleException(t); openBarrierAndResumeStable(); closeHoleFor(provider); return; if(isDigestNeeded()) { openBarrierAndResumeStable(); closeHoleFor(provider);
protected void setStateInApplication(InputStream in, Object resource, final Address provider) { log.debug("%s: setting the state in the aplication", local_addr); try { up_prot.up(new Event(Event.STATE_TRANSFER_INPUTSTREAM, in)); up_prot.up(new Event(Event.STATE_TRANSFER_INPUTSTREAM_CLOSED, new StateTransferResult())); down_prot.down(new Event(Event.GET_VIEW_FROM_COORD)); // https://issues.jboss.org/browse/JGRP-1751 } catch(Throwable t) { handleException(t); } finally { Util.close(in); close(resource); if(isDigestNeeded()) { openBarrierAndResumeStable(); closeHoleFor(provider); } } }
sendException(requester, t); resumeStable(); closeHoleFor(requester); return;