Added propagation control functions and fix implicit string conversion in headers. #367
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.
I've added the ability to explicitly control propagation of data in
DataFlowGraphModel
through the use of a new virtual functioncanPropagate(ConnectionId)
, and another functionpropagate(NodeId)
to request a propagation without having to update connections or input/output. The user can also changeonOutPortDataUpdated
andpropagateEmptyDataTo
with deriviative functions to change the output of the propagation for each connection.These functions are both virtual so that derivative dataflow models can specify their own control model, but this may go against the design of
DataFlowGraphModel
. Feel free to deny or change as you wish. As an example:My project has nodes of text data ranging in the gigabytes. I use a global execution state to control when data is propagated and clone node outputs when there is more than one connection stemming from an output. This can be achieved with custom functions: