DUNE-DAQ / DUNE-DAQ/trigger

TCProcessor: checking pending TDs logic - update

Open
#411 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
0
Forks
8
Avg merge
7h 21m
Merged PRs (30d)
3

Description

Current logic in the TCProcessor to check for pending TCs (mostly relevant when merging is on and there is some non-negligible buffer timeout) is based on a polling mechanism with a small timeout to allow the producer thread to also insert into the vector. (See https://github.com/DUNE-DAQ/trigger/pull/410 for details.)

Relevant code is here: https://github.com/DUNE-DAQ/trigger/blob/v2.5.1/src/TCProcessor.cpp#L355

It was suggested to streamline this more to use more event-driven method (notify / callback ...).

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with src/TCProcessor.cpp around line 355 and read the polling behavior described in pull request 410. Trace how the producer thread inserts pending TCs, then define the notify or callback approach and its interaction with merging and buffer timeouts. Done means the pending-TC check is event-driven while preserving the relevant behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
distributed-systems
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.