Should we provide a reflexive or loop pipe?
Possible Feature
- a stage does not need to consider this pipe when waiting for signals (initializing, starting, terminating)
- => less possibilities for a deadlock
- optimized sending due to a non-synchronized queue (size > 1)
Possible Automatic Detection
if (outputPipe.owningStage == inputPort.owningStage) {
pipe = new ReflexivePipe(outputPipe, inputPort);
}
For a loop, automatic detection is more complex.