From ca863a86bb179303fb9774f29da716cfa949e0b3 Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Mon, 13 Feb 2017 22:33:35 +0700 Subject: [PATCH] add an Addr method to the Server --- server.go | 5 +++++ server_test.go | 8 ++++++++ 2 files changed, 13 insertions(+) diff --git a/server.go b/server.go index db1f4a94..d0163104 100644 --- a/server.go +++ b/server.go @@ -127,6 +127,11 @@ func (s *Server) Close() error { return conn.Close() } +// Addr returns the server's network address +func (s *Server) Addr() net.Addr { + return s.addr +} + func (s *Server) handlePacket(conn *net.UDPConn, remoteAddr *net.UDPAddr, packet []byte) error { if protocol.ByteCount(len(packet)) > protocol.MaxPacketSize { return qerr.PacketTooLarge diff --git a/server_test.go b/server_test.go index 0b1aae05..88c00a8e 100644 --- a/server_test.go +++ b/server_test.go @@ -61,6 +61,14 @@ var _ = Describe("Server", func() { firstPacket = append(append(firstPacket, b.Bytes()...), 0x01) }) + It("returns the address", func() { + server.addr = &net.UDPAddr{ + IP: net.IPv4(192, 168, 13, 37), + Port: 1234, + } + Expect(server.Addr().String()).To(Equal("192.168.13.37:1234")) + }) + It("composes version negotiation packets", func() { expected := append( []byte{0x01 | 0x08, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},