DAQInterface's memory management should allow for boardreaders which send zero or multiple fragments per event
In Issue #21044, a feature of DAQInterface is described in which it's possible to account for fragment generators sending zero fragments per event, or more than one fragment per event, when telling the eventbuilders how many fragments to expect. However, when it comes to the way DAQInterface calculates buffer sizes during bookkeeping, it still assumes there's one and only one fragment per fragment generator per event; this is the case whether or not "advanced_memory_usage" is set to true or false in the settings file. Buffer size calculation should use the same info used when calculating the total fragments per event to come up with better-tuned buffer sizes.
#1 Updated by John Freeman about 2 years ago
- Status changed from New to Resolved
- % Done changed from 0 to 100
With commit 4924037c72c9171af5e152d1a3a4d1caec50e459 on the develop branch, DAQInterface will account for the number of fragments a boardreader sends each event when calculating buffer sizes. As described in Issue #21044, DAQInterface will assume one fragment per event per boardreader unless "
generated_fragments_per_event" is set, in which case it will use its value, or "
sends_no_fragments: true" is set. Notice that "
generated_fragments_per_event: 0" is the equivalent of "
sends_no_fragments: true" ;' the latter is kept for backwards compatibility.