public Rsp(Throwable t) { setException(t); }
/** Marks all responses with an exception (unless a response was already marked as done) */ public void transportClosed() { boolean changed=false; lock.lock(); try { for(Map.Entry<Address, Rsp<T>> entry: rsps.entrySet()) { Rsp<T> rsp=entry.getValue(); if(rsp != null && !(rsp.wasReceived() || rsp.wasSuspected() || rsp.wasUnreachable())) { rsp.setException(new IllegalStateException("transport was closed")); num_received++; changed=true; } } if(changed && responsesComplete()) { complete(this.rsps); corrDone(); } } finally { lock.unlock(); } }
if(rsp_filter == null || rsp_filter.isAcceptable(response_value, sender)) { if(is_exception && response_value instanceof Throwable) rsp.setException((Throwable)response_value); else rsp.setValue((T)response_value);
public Rsp(Throwable t) { setException(t); }
/** Marks all responses with an exception (unless a response was already marked as done) */ public void transportClosed() { boolean changed=false; lock.lock(); try { for(Map.Entry<Address, Rsp<T>> entry: rsps.entrySet()) { Rsp<T> rsp=entry.getValue(); if(rsp != null && !(rsp.wasReceived() || rsp.wasSuspected() || rsp.wasUnreachable())) { rsp.setException(new IllegalStateException("transport was closed")); num_received++; changed=true; } } if(changed && responsesComplete()) { complete(this.rsps); corrDone(); } } finally { lock.unlock(); } }
if(rsp_filter == null || rsp_filter.isAcceptable(response_value, sender)) { if(is_exception && response_value instanceof Throwable) rsp.setException((Throwable)response_value); else rsp.setValue((T)response_value);