Skip to content

improve algorithm and i/o interfaces

Moritz Kiehn requested to merge msmk-improved_interfaces into master

Fixes ACTSFW-40 and fixes ACTSFW-13:

  • Split IOAlgorithm into IReader and IWriter interface.
  • Simplify IAlgorithm and IService interface.
  • Remove global job store and job context from algorithms.
  • Merge EventContext and AlgorithmContext into a single struct.
  • The sequencer provides only a single .run(...) method to initialize, run, and finalize the event loop.
  • Move sequencer algorithms from Config to private member variables. Was not used anywhere.
  • Change common Algorithm helper class to a more restrained SimpleAlgorithm helper class.

Fixes ACTSFW-43:

  • Rewrite WhiteBoard as append-only container with explicit ownership transfer.
  • Make WhiteBoard a non-copyable container to prevent accidental copy due to inconsistent usage.
  • Interface provides exclusively read-only access to stored objects.

Existing code has been updated to the new interfaces but the data flow has not been converted to the updated even store/ reader/ writer style. This should happen gradually as people work on their code, e.g. in !51 (closed).

This contains work towards ACTSFW-14, ACTSFW-6.

Edited by Moritz Kiehn

Merge request reports