leonarski_fandClaude Opus 4.8 c0a4801bc4
Build Packages / Unit tests (push) Successful in 1h10m55s
Build Packages / DIALS test (push) Successful in 12m20s
Build Packages / XDS test (durin plugin) (push) Successful in 7m16s
Build Packages / XDS test (JFJoch plugin) (push) Successful in 7m15s
Build Packages / XDS test (neggia plugin) (push) Successful in 6m7s
Build Packages / Generate python client (push) Successful in 25s
Build Packages / Build documentation (push) Successful in 47s
Build Packages / Create release (push) Skipped
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 9m21s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 10m31s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 11m38s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 12m26s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 11m22s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 12m43s
Build Packages / build:rpm (rocky8) (push) Successful in 9m47s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 8m37s
Build Packages / build:rpm (rocky9) (push) Successful in 10m5s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 7m27s
TCPStreamPusher: fix zero-copy buffer reuse and make send/END timeouts progress-based
Three robustness fixes for the writer-facing TCP stream, addressing the
spurious "wrong number of images" / connection failures seen under load.

1. Never MSG_ZEROCOPY a transient buffer. The synchronous SendImage path
   passes a caller-owned buffer with z == nullptr and reuses it for the next
   frame immediately. With MSG_ZEROCOPY the kernel still references that buffer
   after send() returns, so the peer could receive corrupted frames and drop
   the connection mid-stream, truncating the run. Zero-copy is now gated on a
   ZeroCopyReturnValue that keeps the buffer alive until completion.

2. Make the SendAll watchdog measure lack of progress, not total wall-clock.
   The previous absolute deadline tore down a healthy but back-pressured
   connection (slow/starved writer) after a fixed window; the watchdog now
   resets on every byte actually sent, so only a genuinely stuck socket is
   closed. Dead peers are still caught by OS keepalive and POLLHUP/POLLERR.

3. Make the END-ack wait progress-based (WaitForEndAck). The writer may still
   be draining a backlog of DATA frames when END is sent; each DATA ACK is
   progress, so the timeout only arms once the writer falls silent rather than
   firing while images are legitimately still being drained.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 22:02:09 +02:00
2026-06-08 08:30:35 +02:00
2026-06-08 08:30:35 +02:00
2026-06-08 08:30:35 +02:00
2026-04-09 13:30:47 +02:00
2025-12-04 11:56:14 +01:00
2026-06-08 08:30:35 +02:00
2026-05-28 18:48:35 +02:00
2026-06-08 08:30:35 +02:00
2026-03-26 20:50:33 +01:00
2026-06-08 08:30:35 +02:00
2026-06-08 08:30:35 +02:00
2026-06-11 18:35:02 +02:00
2025-10-01 11:18:10 +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
2024-11-22 21:25:20 +01:00
2026-03-28 20:06:23 +01:00
2024-12-02 21:17:14 +01:00
2026-02-18 16:17:21 +01:00
2026-06-08 08:30:35 +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.7%
HTML 8.8%
C 7%
TypeScript 4.8%
Tcl 2.5%
Other 3.1%