Example #1
0
 /** triggered if the last remaining upstream finished or failed */
 protected void onFinish() {
   assert !paused : "must not receive a finish call if upstream should be paused";
   for (Object[] objects : pauseFifo) {
     sharedRow.cells(objects);
     boolean wantMore = delegate.setNextRow(sharedRow);
     if (!wantMore) {
       break;
     }
   }
   delegate.finish();
 }
Example #2
0
 @Override
 public void prepare(ExecutionState executionState) {
   if (prepared.compareAndSet(false, true)) {
     delegate.prepare(executionState);
     this.executionState = executionState;
   }
 }
Example #3
0
 protected boolean synchronizedSetNextRow(Row row) {
   if (paused) {
     pauseFifo.add(row.materialize());
     return true;
   } else {
     Object[] bufferedCells;
     while ((bufferedCells = pauseFifo.poll()) != null) {
       sharedRow.cells(bufferedCells);
       boolean wantMore = delegate.setNextRow(sharedRow);
       if (!wantMore) {
         return false;
       }
       if (paused) {
         pauseFifo.add(row.materialize());
         return true;
       }
     }
     return delegate.setNextRow(row);
   }
 }
Example #4
0
 public MultiUpstreamRowReceiver(RowReceiver delegate) {
   delegate.setUpstream(this);
   this.delegate = delegate;
 }
Example #5
0
 @Override
 public Set<Requirement> requirements() {
   return delegate.requirements();
 }
Example #6
0
 /** triggered if the last remaining upstream finished or failed */
 protected void onFail(Throwable t) {
   delegate.fail(t);
 }