more stuff

This commit is contained in:
Miek Gieben 2011-01-12 16:41:17 +01:00
parent 1ee22eb579
commit 4109a032b9
1 changed files with 6 additions and 5 deletions

View File

@ -19,10 +19,10 @@ import (
type Server struct { type Server struct {
Address string // interface to use, for multiple interfaces, use multiple servers Address string // interface to use, for multiple interfaces, use multiple servers
Port string // what port to use Port string // what port to use
Timeout int // seconds before giving up on packet Timeout int // seconds before giving up on packet
Tcp bool // use TCP Tcp bool // use TCP
Mangle func([]byte) []byte // mangle the packet, before sending Mangle func([]byte) []byte // mangle the packet, before sending
} }
// Every nameserver must implement the Handler interface. // Every nameserver must implement the Handler interface.
@ -50,7 +50,7 @@ func (res *Server) NewResponder(h Responder, ch chan bool) os.Error {
} }
switch res.Tcp { switch res.Tcp {
case true: case true:
/* Todo tcp conn. */ /* Todo tcp conn. */
case false: case false:
udpaddr, _ := net.ResolveUDPAddr(res.Address + ":" + port) udpaddr, _ := net.ResolveUDPAddr(res.Address + ":" + port)
c, _ := net.ListenUDP("udp", udpaddr) c, _ := net.ListenUDP("udp", udpaddr)
@ -58,6 +58,7 @@ func (res *Server) NewResponder(h Responder, ch chan bool) os.Error {
for { for {
select { select {
case <-ch: case <-ch:
ch <- true // last echo
c.Close() c.Close()
break foreverudp break foreverudp
default: default: