Created a struct for the UDP connection instead of juggling multiple loose vars
This commit is contained in:
@@ -20,7 +20,7 @@ func Replay(address string, port int, fp string) error {
|
|||||||
log.Fatal("error opening file:", err)
|
log.Fatal("error opening file:", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
addr, conn, err := openUDPServer(address, port)
|
udp, err := newUDPServer(address, port)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@@ -42,7 +42,7 @@ func Replay(address string, port int, fp string) error {
|
|||||||
break
|
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)
|
log.Fatal("send failed:", err)
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
@@ -50,5 +50,5 @@ func Replay(address string, port int, fp string) error {
|
|||||||
<-ticker.C
|
<-ticker.C
|
||||||
}
|
}
|
||||||
|
|
||||||
return conn.Close()
|
return udp.Close()
|
||||||
}
|
}
|
||||||
|
|||||||
+13
-4
@@ -5,16 +5,25 @@ import (
|
|||||||
"net"
|
"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))
|
udpAddr, err := net.ResolveUDPAddr("udp", fmt.Sprintf("%s:%d", addr, port))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, nil, err
|
return udpServer{}, err
|
||||||
}
|
}
|
||||||
|
|
||||||
conn, err := net.ListenUDP("udp", nil)
|
conn, err := net.ListenUDP("udp", nil)
|
||||||
if err != 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()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user