Introduce process commands to support more interactions with parallel processes. Now all Process methods of a parallelized process can be queried from the parent OS process. Users can also add support for custom methods of their processes.
This change also simplifies the way Engine handles parallel processes warns users when serializers are not being found efficiently.
TODO:
[x] Add safety checks to make sure users don't send commands or get command results out of order
[x] Make sending commands private?
Decided not to make this private because since we want users to be able to use commands for subclass methods, commands need to be part of the public API
[x] Thoroughly test parallelization and process commands
[x] Change Engine to put ParallelProcess instances in the store hierarchy
[x] Eliminate invoke_process function that doesn't do anything
By creating this pull request, I agree to the Contributor License
Agreement, which is available in CLA.md at the top level of this
repository.
Introduce process commands to support more interactions with parallel processes. Now all
Process
methods of a parallelized process can be queried from the parent OS process. Users can also add support for custom methods of their processes.This change also simplifies the way
Engine
handles parallel processes warns users when serializers are not being found efficiently.TODO:
Engine
to putParallelProcess
instances in the store hierarchyinvoke_process
function that doesn't do anythingBy creating this pull request, I agree to the Contributor License Agreement, which is available in
CLA.md
at the top level of this repository.