zettio/weave#362 - fix DNSServer initialization

removed a couple of goroutines spawns...
This commit is contained in:
Alvaro Saurin committed 2015-02-23 13:17:54 +01:00
1 parent ef72d65aa4
commit 5dd475b2e5
3 files changed
+13 -20

No files matched your search

+1 -10
View File
@@ -30,22 +30,13 @@ type DNSServer struct {
}
// Creates a new DNS server with a given config
func NewDNSServerWithConfig(config *dns.ClientConfig, zone Zone, iface *net.Interface, port int) (*DNSServer, error) {
func NewDNSServer(config *dns.ClientConfig, zone Zone, iface *net.Interface, port int) *DNSServer {
return &DNSServer{
config: config,
zone: zone,
iface: iface,
port: port,
}, nil
}
// Creates a new DNS server
func NewDNSServer(zone Zone, iface *net.Interface, port int) (*DNSServer, error) {
config, err := dns.ClientConfigFromFile("/etc/resolv.conf")
if err != nil {
return nil, err
}
return NewDNSServerWithConfig(config, zone, iface, port)
}
// Start the DNS server
+6 -6
View File
@@ -41,10 +41,10 @@ func TestUDPDNSServer(t *testing.T) {
wt.AssertNoErr(t, err)
config := &dns.ClientConfig{Servers: []string{"127.0.0.1"}, Port: fallbackPort}
srv, err := NewDNSServerWithConfig(config, zone, nil, port)
wt.AssertNoErr(t, err)
srv := NewDNSServer(config, zone, nil, port)
defer srv.Stop()
go srv.Start()
err = srv.Start()
wt.AssertNoErr(t, err)
time.Sleep(100 * time.Millisecond) // Allow sever goroutine to start
c := new(dns.Client)
@@ -147,10 +147,10 @@ func TestTCPDNSServer(t *testing.T) {
wt.AssertNoErr(t, err)
config := &dns.ClientConfig{Servers: []string{"127.0.0.1"}, Port: fallbackPort}
srv, err := NewDNSServerWithConfig(config, zone, nil, port)
wt.AssertNoErr(t, err)
srv := NewDNSServer(config, zone, nil, port)
defer srv.Stop()
go srv.Start()
err = srv.Start()
wt.AssertNoErr(t, err)
time.Sleep(100 * time.Millisecond) // Allow sever goroutine to start
// Create a regular UDP client and a TCP client
+6 -4
View File
@@ -9,6 +9,7 @@ import (
"io"
"net"
"os"
"github.com/miekg/dns"
)
var version = "(unreleased version)"
@@ -63,13 +64,14 @@ func main() {
}
}
go weavedns.ListenHttp(weavedns.LOCAL_DOMAIN, zone, httpPort)
srv, err := weavedns.NewDNSServer(zone, iface, dnsPort)
config, err := dns.ClientConfigFromFile("/etc/resolv.conf")
if err != nil {
Error.Fatal("Failed to start server", err)
Error.Fatal("Failed obtain DNS client configuration", err)
}
srv.Start()
go weavedns.ListenHttp(weavedns.LOCAL_DOMAIN, zone, httpPort)
srv := weavedns.NewDNSServer(config, zone, iface, dnsPort)
err := srv.Start()
if err != nil {
Error.Fatal("Failed to start server", err)
}