callback.blockReceived(_prb.getBlock());
return;
} catch (AbortedException e1) {
e = e1;
}
callback.blockReceiveFailed(new RetrievalException(_prb._abortReason, _prb._abortDescription));
return;
}
}
incRunningBlockReceives();
try {
waitNotification(false);
} catch (DisconnectedException e) {
RetrievalException retrievalException = new RetrievalException(RetrievalException.SENDER_DISCONNECTED);
_prb.abort(retrievalException.getReason(), retrievalException.toString(), true /* kind of, it shouldn't count towards the stats anyway */);
callback.blockReceiveFailed(retrievalException);
decRunningBlockReceives();
} catch(RuntimeException e) {
decRunningBlockReceives();
throw e;