Skip to content

CRT topology change#278

Open
denizergonul wants to merge 6 commits intodevelopfrom
dte/crt_topology_change
Open

CRT topology change#278
denizergonul wants to merge 6 commits intodevelopfrom
dte/crt_topology_change

Conversation

@denizergonul
Copy link
Contributor

@denizergonul denizergonul commented Mar 6, 2026

CRTReaderApplication creates:

  • 1 CRT(Bern/Grenoble)Reader per SocketDetectorToDaqConnection
  • 1 SocketWriter per SocketDetectorToDaqConnection
    CRTReader has N callback confs, where N is the number of streams in its connection.
    SocketWriter has N callback confs.

daqsystemtest PR
crtmodules PR
asiolibs PR
daqconf PR

Prior to this development, socket connection info resided in reader and writer configurations. Now, there is SocketDetectorToDaqConnection which has SocketDataSenders and SocketReceiver; SocketDataSender has the info socket type (TCP/UDP), local port and remote port; plus we make use of their NetworkInterface.ip_address to interpret them as local IP and remote IP.

crt-readout-cb drawio

This diagram shows the relationships between configuration objects and modules. Here, SocketDetectorToDaqConnection1 represents socket_crt in the example config in daqsystemtest.

CRT readers communicate with socket writers via callbacks.
Socket readers communicate with DHLs via callbacks.

Currently, using FDFakeReaderModule instead of CRT(Bern/Grenoble)ReaderModule is not working.

To try out:
drunc-unified-shell ssh-standalone config/daqsystemtest/example-configs.data.xml local-socket-1x1-config ${USER}-local-test
generate_modules_test local-socket-1x1-config crt-data-source-01 config/daqsystemtest/example-configs.data.xml
generate_modules_test local-socket-1x1-config socket-ru-01 config/daqsystemtest/example-configs.data.xml


(to be filled)

Description

If full description and testing details are included on a parent issue, please link to that here.
See issue # for details

Otherwise, please include a summary of the change and which issue is fixed (if any).
Include relevant motivation and context, including a target environment and dunedaq version if known.
Also list any dependencies that are required for this change.

Addresses issue #

Please also include instructions for how a reviewer can test your changes.

Type of change

  • Documentation (non-breaking change that adds or improves the documentation)
  • New feature or enhancement (non-breaking change which adds functionality)
  • Optimization (non-breaking change that improves code/performance)
  • Bug fix (non-breaking change which fixes an issue)
  • Breaking change (whatever its nature)

Testing checklist

  • Unit tests pass (e.g. dbt-build --unittest)
  • Minimal system quicktest passes (pytest -s minimal_system_quick_test.py)
  • Full set of integration tests pass (dunedaq_integtest_bundle.sh)
  • Python tests pass if applicable (e.g. python -m pytest)
  • Pre-commit hooks run successfully if applicable (e.g. pre-commit run --all-files)

Comments here on the testing

Further checks

  • Code is commented where needed, particularly in hard-to-understand areas
  • Code style is correct (dbt-build --lint, and/or see https://dune-daq-sw.readthedocs.io/en/latest/packages/styleguide/)
  • If applicable, new tests have been added or an issue has been opened to tackle that in the future.
    (Indicate issue here: # (issue))

@denizergonul denizergonul marked this pull request as ready for review March 11, 2026 15:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant