Search in sources :

Example 1 with TappedReservoir

use of com.datatorrent.stram.debug.TappedReservoir in project apex-core by apache.

the class GenericNode method addSinks.

@Override
@SuppressWarnings("unchecked")
public void addSinks(Map<String, Sink<Object>> sinks) {
    for (Entry<String, Sink<Object>> e : sinks.entrySet()) {
        SweepableReservoir original = inputs.get(e.getKey());
        if (original instanceof TappedReservoir) {
            TappedReservoir tr = (TappedReservoir) original;
            tr.add(e.getValue());
        } else if (original != null) {
            TappedReservoir tr = new TappedReservoir(original, e.getValue());
            inputs.put(e.getKey(), tr);
        }
    }
    super.addSinks(sinks);
}
Also used : ControlTupleEnabledSink(com.datatorrent.api.ControlTupleEnabledSink) Sink(com.datatorrent.api.Sink) TappedReservoir(com.datatorrent.stram.debug.TappedReservoir)

Example 2 with TappedReservoir

use of com.datatorrent.stram.debug.TappedReservoir in project apex-core by apache.

the class GenericNode method removeSinks.

@Override
public void removeSinks(Map<String, Sink<Object>> sinks) {
    for (Entry<String, Sink<Object>> e : sinks.entrySet()) {
        SweepableReservoir reservoir = inputs.get(e.getKey());
        if (reservoir instanceof TappedReservoir) {
            TappedReservoir tr = (TappedReservoir) reservoir;
            tr.remove(e.getValue());
            if (tr.getSinks().length == 0) {
                tr.reservoir.setSink(tr.setSink(null));
                inputs.put(e.getKey(), tr.reservoir);
            }
        }
    }
    super.removeSinks(sinks);
}
Also used : ControlTupleEnabledSink(com.datatorrent.api.ControlTupleEnabledSink) Sink(com.datatorrent.api.Sink) TappedReservoir(com.datatorrent.stram.debug.TappedReservoir)

Aggregations

ControlTupleEnabledSink (com.datatorrent.api.ControlTupleEnabledSink)2 Sink (com.datatorrent.api.Sink)2 TappedReservoir (com.datatorrent.stram.debug.TappedReservoir)2