leonarski_fandClaude Fable 5 ad73b4af99 writer: detect overwrite conflict at start for back-channel transports
Previously an existing output file was only detected at the final rename,
after the whole collection had run. Add an up-front check in the FileWriter
constructor that fails before acquisition arms.

Only the master file is checked, and only by the single writer that owns it
(write_master_file). In a multi-writer TCP/ZMQ setup the per-image data files
are staggered across writers by file number, and a writer does not even know
the total writer count, so it cannot enumerate its own subset; checking all
data files in every writer would make each writer stat files it never writes
and race the writers already creating them. Data-file conflicts stay caught by
their owning writer at the final rename.

Gate the check on whether the transport can report the failure to the broker:
the direct HDF5 pusher throws in-process and the TCP writer returns a
START-failure ACK, so both abort the collection cleanly (verified: an asymmetric
rejection cancels the already-started sibling). The ZeroMQ path is fire-and-forget
with no back-channel, so StreamWriter opts out via image_puller.SupportsAck() and
keeps writing .tmp files, failing only at the final rename (leaving the images on
disk). Documented in docs/JFJOCH_WRITER.md.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 15:34:37 +02:00
2026-06-23 20:29:49 +02:00
2026-07-03 19:18:56 +02:00
2026-06-23 20:29:49 +02:00
2025-12-04 11:56:14 +01:00
2026-07-08 20:29:08 +02:00
2026-07-03 19:18:56 +02:00
2026-06-23 20:29:49 +02:00
2026-06-25 22:01:48 +02:00
2026-03-26 20:50:33 +01:00
2026-06-23 20:29:49 +02:00
2026-06-23 20:29:49 +02:00
2026-06-25 22:01:48 +02:00
2026-06-13 21:27:41 +02:00
2026-06-23 20:29:49 +02:00
2024-11-22 21:25:20 +01:00
2024-12-02 21:17:14 +01:00
2026-02-18 16:17:21 +01:00
2025-10-25 22:05:47 +02:00
2026-07-03 19:18:56 +02:00
2026-06-23 20:29:49 +02:00
2026-06-23 20:29:49 +02:00
2024-12-02 21:17:14 +01:00
2026-06-23 20:29:49 +02:00
2026-07-03 19:18:56 +02:00
2026-07-08 20:29:08 +02:00

Jungfraujoch

Application to receive data from the PSI JUNGFRAU and EIGER detectors.

All documentation is now placed in docs/ subdirectory and for the current version hosted on Jungfraujoch Read The Docs page.

S
Description
Jungfraujoch Data Acquisition System
Readme GPL-3.0
3 GiB
Languages
C++ 73.3%
HTML 8.9%
C 7.2%
TypeScript 4.9%
Tcl 2.6%
Other 3%