The pipeline needs to keep local version of some settings, because they are used within the vector of functions, and their modification could therefore affect the computations. Those settings are called piperefresh_settings, because they are updated only at the beginning of a pipe refresh.
There are also onrestart_settings, which are only updated at the creation of the compute_worker.
Other settings, that can be updated anytime without causing problem, are called realtime_settings. They are often used only during the insertion of functions during refresh, and not within the inserted functions.
A verification of the classification of the settings might be necessary.
This classification is done in three parts of the pipe : icompute.hh, fourier_transform.hh, and image_accumulation.hh.
onrestart_settings are the settings used inside the lambdas that are pushed back in the vector, and whose modification in the API must trigger a restart of the computeWorker
piperefresh_settings are all the other settings that must be used inside the lambdas that are pushed back in the vector
realtime_settings are all settings not used inside the lambdas. They should be used during the refresh, to choose which function to insert for example.
The pipeline needs to keep local version of some settings, because they are used within the vector of functions, and their modification could therefore affect the computations. Those settings are called piperefresh_settings, because they are updated only at the beginning of a pipe refresh. There are also onrestart_settings, which are only updated at the creation of the compute_worker. Other settings, that can be updated anytime without causing problem, are called realtime_settings. They are often used only during the insertion of functions during refresh, and not within the inserted functions.
A verification of the classification of the settings might be necessary. This classification is done in three parts of the pipe : icompute.hh, fourier_transform.hh, and image_accumulation.hh.