public <T> FutureWork<T> addRequestWork(Callable<T> callable) { FutureWork<T> work = new FutureWork<T>(callable, 100); work.addCompletionListener(new CompletionListener<T>() { @Override public void onCompletion(FutureWork<T> future) { RequestWorkItem.this.moreWork(); } }); work.setRequestId(this.requestID.toString()); dqpCore.addWork(work); return work; }
public <T> FutureWork<T> addRequestWork(Callable<T> callable) { FutureWork<T> work = new FutureWork<T>(callable, 100); work.addCompletionListener(new CompletionListener<T>() { @Override public void onCompletion(FutureWork<T> future) { RequestWorkItem.this.moreWork(); } }); work.setRequestId(this.requestID.toString()); dqpCore.addWork(work); return work; }
<T> FutureWork<T> addWork(Callable<T> callable, CompletionListener<T> listener, int priority) { FutureWork<T> work = new FutureWork<T>(callable, priority); work.setRequestId(this.requestID.toString()); WorkWrapper<T> wl = new WorkWrapper<T>(work); work.addCompletionListener(wl); work.addCompletionListener(listener); synchronized (queue) { if (totalThreads < dqpCore.getUserRequestSourceConcurrency()) { dqpCore.addWork(work); totalThreads++; wl.submitted = true; } else { queue.add(wl); LogManager.logDetail(LogConstants.CTX_DQP, this.requestID, " reached max source concurrency of ", dqpCore.getUserRequestSourceConcurrency()); //$NON-NLS-1$ } } return work; }
<T> FutureWork<T> addWork(Callable<T> callable, CompletionListener<T> listener, int priority) { FutureWork<T> work = new FutureWork<T>(callable, priority); work.setRequestId(this.requestID.toString()); WorkWrapper<T> wl = new WorkWrapper<T>(work); work.addCompletionListener(wl); work.addCompletionListener(listener); synchronized (queue) { if (totalThreads < dqpCore.getUserRequestSourceConcurrency()) { dqpCore.addWork(work); totalThreads++; wl.submitted = true; } else { queue.add(wl); LogManager.logDetail(LogConstants.CTX_DQP, this.requestID, " reached max source concurrency of ", dqpCore.getUserRequestSourceConcurrency()); //$NON-NLS-1$ } } return work; }
<T> FutureWork<T> addWork(Callable<T> callable, CompletionListener<T> listener, int priority) { FutureWork<T> work = new FutureWork<T>(callable, priority); work.setRequestId(this.requestID.toString()); WorkWrapper<T> wl = new WorkWrapper<T>(work); work.addCompletionListener(wl); work.addCompletionListener(listener); synchronized (queue) { if (totalThreads < dqpCore.getUserRequestSourceConcurrency()) { dqpCore.addWork(work); totalThreads++; wl.submitted = true; } else { queue.add(wl); LogManager.logDetail(LogConstants.CTX_DQP, this.requestID, " reached max source concurrency of ", dqpCore.getUserRequestSourceConcurrency()); //$NON-NLS-1$ } } return work; }
public void fullyCloseSource() { cancelFutures(); cancelAsynch = true; if (closing.compareAndSet(false, true)) { if (!done && !errored) { this.cwi.cancel(false); } workItem.closeAtomicRequest(this.aqr.getAtomicRequestID()); if (aqr.isSerial() || futureResult == null) { this.cwi.close(); } else { futureResult.addCompletionListener(new CompletionListener<AtomicResultsMessage>() { @Override public void onCompletion(FutureWork<AtomicResultsMessage> future) { if (running) { return; //-- let the other thread close } if (closed.compareAndSet(false, true)) { cwi.close(); } } }); } } }
public void fullyCloseSource() { cancelFutures(); cancelAsynch = true; if (closing.compareAndSet(false, true)) { if (!done && !errored) { this.cwi.cancel(false); } workItem.closeAtomicRequest(this.aqr.getAtomicRequestID()); if (aqr.isSerial() || futureResult == null) { this.cwi.close(); } else { futureResult.addCompletionListener(new CompletionListener<AtomicResultsMessage>() { @Override public void onCompletion(FutureWork<AtomicResultsMessage> future) { if (running) { return; //-- let the other thread close } if (closed.compareAndSet(false, true)) { cwi.close(); } } }); } } }
public void fullyCloseSource() { cancelFutures(); cancelAsynch = true; if (closing.compareAndSet(false, true)) { if (!done && !errored) { this.cwi.cancel(false); } workItem.closeAtomicRequest(this.aqr.getAtomicRequestID()); if (aqr.isSerial() || futureResult == null) { this.cwi.close(); } else { futureResult.addCompletionListener(new CompletionListener<AtomicResultsMessage>() { @Override public void onCompletion(FutureWork<AtomicResultsMessage> future) { if (running) { return; //-- let the other thread close } if (closed.compareAndSet(false, true)) { cwi.close(); } } }); } } }