public SpoutOutputCollector(ISpoutOutputCollector delegate) { _delegate = new SpoutOutputCollectorCb(delegate) {
public List<Integer> emitByDelegate(String streamId, List<Object> tuple, Object messageId, ICollectorCallback callback) { return delegate.emit(streamId, tuple, null, callback); }
@Override public void emitBarrier() { _delegate.emitBarrier(); } }
/** * Emits a tuple to the specified task on the specified output stream. This * output stream must have been declared as a direct stream, and the * specified task must use a direct grouping on this stream to receive the * message. The emitted values must be immutable. */ public void emitDirect(int taskId, String streamId, List<Object> tuple, Object messageId) { _delegate.emitDirect(taskId, streamId, tuple, messageId); }
@Override public List<Integer> emitCtrl(String streamId, List<Object> tuple, Object messageId) { return delegate.emitCtrl(streamId, tuple, messageId); } }
@Override public void flush(){ delegate.flush(); }
@Override public void emitDirectCtrl(int taskId, String streamId, List<Object> tuple, Object messageId) { delegate.emitDirectCtrl(taskId, streamId, tuple, null); }
public void flushInitBarrier() { // flush pending message in outputCollector delegate.flush(); delegate.setBatchId(TransactionCommon.INIT_BATCH_ID); BatchSnapshot barrierSnapshot = new BatchSnapshot(TransactionCommon.INIT_BATCH_ID, 0); for (Entry<Integer, CountValue> entry : msgCount.entrySet()) { entry.getValue().setValue(0); emitDirectByDelegate(entry.getKey(), TransactionCommon.BARRIER_STREAM_ID, new Values(barrierSnapshot), null, null); } delegate.flush(); delegate.setBatchId(currBatchId); }
@Override public void reportError(Throwable error) { delegate.reportError(error); }
@Override public void setBatchId(long batchId) { _delegate.setBatchId(batchId); }
public void emitDirect(int taskId, String streamId, List<Object> tuple, Object messageId, ICollectorCallback callback) { _delegate.emitDirect(taskId, streamId, tuple, messageId, callback); }
public List<Integer> emitCtrl(List<Object> tuple, Object messageId) { return _delegate.emitCtrl(Utils.DEFAULT_STREAM_ID, tuple, messageId); }
@Override public void flush(){ _delegate.flush(); }
@Override public void emitDirectCtrl(int taskId, String streamId, List<Object> tuple, Object messageId) { _delegate.emitDirectCtrl(taskId, streamId, tuple, messageId); }
@Override public void reportError(Throwable error) { delegate.reportError(error); }
public void setCurrBatchId(long batchId) { this.currBatchId = batchId; delegate.setBatchId(batchId); }
public List<Integer> emit(String streamId, List<Object> tuple, Object messageId, ICollectorCallback callback) { return _delegate.emit(streamId, tuple, messageId, callback); }
@Override public void emitDirect(int taskId, String streamId, List<Object> tuple, Object messageId) { delegate.emitDirect(taskId, streamId, tuple, null); }
public List<Integer> emitCtrl(String streamId, List<Object> tuple) { return _delegate.emitCtrl(streamId, tuple, null); }
public int flushBarrier() { delegate.flush(); int ret = 0; // Emit and flush barrier message to all downstream tasks for (Entry<Integer, CountValue> entry : msgCount.entrySet()) { int taskId = entry.getKey(); int count = entry.getValue().getValueAndSet(0); ret += count; BatchSnapshot barrierSnapshot = new BatchSnapshot(currBatchId, count); emitDirectByDelegate(taskId, TransactionCommon.BARRIER_STREAM_ID, new Values(barrierSnapshot), null, null); } delegate.flush(); return ret; }