LIU-96 Add initial support for Branch drops #41
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Branch drops are a special type of application drops that must implement
an additional condition function, returning true or false, and thus
triggering one branch of execution down the rest of the graph, or the
other. The current implementation requires these applications
to have exactly two outputs, mainly because the information of which
branch should continue executing is transmitted through the output drop
onto its corresponding consumers instead of trying to contact the
consumers directly.
To support this new functionality we require a new SKIPPED state, which
automatically propagates through the graph. Unit tests check that this
propagation works through multiple levels, both for data and application
drops, such that their respective states change correctly (which is
important for the UI to display them correctly too).
The Web UI has also been updated to display skipped branches of
execution with a different color. Examples of these can be found in https://icrar.atlassian.net/browse/LIU-96
Signed-off-by: Rodrigo Tobar rtobar@icrar.org