Faster implementation with binary websocket

This commit is contained in:
Martino Ferrari
2026-05-21 15:48:08 +02:00
parent 62545503c4
commit 3315c02282
4 changed files with 658 additions and 37 deletions
+6
View File
@@ -10,6 +10,7 @@ const (
silenceTimeout = 5 * time.Second
reconnectDelay = 2 * time.Second
readBufSize = 65536
udpRcvBufSize = 8 * 1024 * 1024 // 8 MB OS receive buffer — absorbs bursts at high data rates
)
// UDPClient manages the UDP connection to one MARTe2 streamer source.
@@ -71,6 +72,11 @@ func (u *UDPClient) runSession() error {
}
defer conn.Close()
// Increase OS receive buffer to reduce kernel-level packet drops at high data rates.
if err := conn.SetReadBuffer(udpRcvBufSize); err != nil {
log.Printf("[%s] udp: SetReadBuffer: %v (proceeding with OS default)", u.sourceID, err)
}
serverAddr, err := net.ResolveUDPAddr("udp4", u.serverAddr)
if err != nil {
return err