leonarski_f d156dfa2e8 TCP stream: gate SendImage enqueue on writer liveness too
The broker logs for the dropped runs show the connection torn down ~2s into
a collection (not 3s), via "TCP send failed -> Removed dead connection ->
Accepted (new socket)". That is too early for the SendAll send deadline:
the real gate was the fixed 2-second enqueue deadline in the zerocopy
SendImage path. At the start of a large dataset the writer briefly stalls
draining the socket while it creates the master file and writes the large
START metadata + calibration frames to GPFS; the per-connection queue fills,
and after 2s SendImage marked the connection broken. The writer then
reconnected outside the active session, so the rest of the run was dropped
and the half-written file was finalized at the next START.

Replace the fixed 2s enqueue deadline with the same peer-liveness condition
used on the send path: keep applying backpressure while the writer proves it
is alive (BUSY heartbeats / ACKs refresh last_peer_activity_ns from a thread
independent of the stalled write path), and only declare it dead after the
liveness window of complete silence. A transient startup stall is now ridden
out instead of dropping the run.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 18:09:37 +02:00
2026-06-18 18:52:22 +02:00
2026-06-23 16:52:16 +02:00
2025-12-04 11:56:14 +01:00
2026-06-18 19:26:15 +02:00
2026-03-26 20:50:33 +01:00
2026-06-13 21:27:41 +02:00
2025-10-25 22:05:47 +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
2025-10-25 22:05:47 +02:00
2025-10-01 22:54:40 +02:00
2026-06-19 13:56:09 +02:00
2024-12-02 21:17:14 +01:00
2026-02-18 16:17:21 +01:00
2026-06-18 19:26:15 +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++ 70.9%
HTML 10.1%
C 8.2%
TypeScript 5.2%
Tcl 3%
Other 2.4%