Skip to content

Rewriting ThreadedNarvalChainEmulator with variadic templates

Guillaume Baulieu requested to merge temulator into preprod

There is only one implementation of the emulator : AGAPRO::TEmulatorPCF. The template class takes a variable number of class arguments from 2 (Producer->Consumer) to N (Producer->N Filters->Consumer). The parameters contain the size and number of blocks between each actor. Ex :

AGAPRO::TEmulatorPCF<BasicAFP, BasicAFC, AGAPRO::CF_Splitter, AGAPRO::CF_Binder> emulator("./",{1024*1024*100,1024*1024*20,1024*1024*20},{4,15,5});

This is a BasicAFP->CF_Splitter->CF_Binder->BasicAFC chain. The buffers are :

  • 4 blocks of 100MB between BasicAFP and CF_Splitter
  • 15 blocks of 20MB between CF_Splitter and CF_Binder
  • 5 blocks of 20MB between CF_Binder and BasicAFP

Merge request reports