From 6930a7f21886af2dacef7c7a1be8de4a60cdb80d Mon Sep 17 00:00:00 2001 From: Eduardo Silva Date: Thu, 2 Oct 2025 19:34:00 +0100 Subject: [PATCH] Created a struct for the UDP connection instead of juggling multiple loose vars --- mockserver/replay.go | 6 +++--- mockserver/server.go | 17 +++++++++++++---- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/mockserver/replay.go b/mockserver/replay.go index 039cd1b..4ea220f 100644 --- a/mockserver/replay.go +++ b/mockserver/replay.go @@ -20,7 +20,7 @@ func Replay(address string, port int, fp string) error { log.Fatal("error opening file:", err) } - addr, conn, err := openUDPServer(address, port) + udp, err := newUDPServer(address, port) if err != nil { return err } @@ -42,7 +42,7 @@ func Replay(address string, port int, fp string) error { break } - if _, err := conn.WriteToUDP(buf.Bytes(), addr); err != nil { + if _, err := udp.Conn.WriteToUDP(buf.Bytes(), udp.Addr); err != nil { log.Fatal("send failed:", err) break } @@ -50,5 +50,5 @@ func Replay(address string, port int, fp string) error { <-ticker.C } - return conn.Close() + return udp.Close() } diff --git a/mockserver/server.go b/mockserver/server.go index 6495653..f02cd4e 100644 --- a/mockserver/server.go +++ b/mockserver/server.go @@ -5,16 +5,25 @@ import ( "net" ) -func openUDPServer(addr string, port int) (*net.UDPAddr, *net.UDPConn, error) { +type udpServer struct { + Addr *net.UDPAddr + Conn *net.UDPConn +} + +func newUDPServer(addr string, port int) (udpServer, error) { udpAddr, err := net.ResolveUDPAddr("udp", fmt.Sprintf("%s:%d", addr, port)) if err != nil { - return nil, nil, err + return udpServer{}, err } conn, err := net.ListenUDP("udp", nil) if err != nil { - return nil, nil, err + return udpServer{}, err } - return udpAddr, conn, nil + return udpServer{Addr: udpAddr, Conn: conn}, nil +} + +func (u *udpServer) Close() error { + return u.Conn.Close() }