Skip to content

add EL::IWorker interface for EL::Worker

Nils Erik Krumnack requested to merge krumnack/athena:el_iworker_interface into 21.2

This is the first step of my efforts to restructure the workings of EventLoop. For now it means that users no longer directly access the Worker objects, but instead access it through the interface. Besides the usual benefits of using interfaces it also means that I can now add public member functions to the EL::Worker class without having to worry about users calling those methods.

This change should mostly be invisible to user code, though it will break code that passes Worker objects into another function. I don't believe that's command and I fixed the instances in the central packages where that happened, but somebody probably used that somewhere else as well.

In principle this should allow puting the Algorithm (and IWorker) class into the AnaAlgorithm package as well. That way user code doesn't have to depend on the EventLoop package at all anymore, which would be sort of nice.

cc @akraszna @ksuruliz

Edited by Nils Erik Krumnack

Merge request reports