zettio/weave#362 - fix DNSServer initialization
removed a couple of goroutines spawns...
This commit is contained in:
1 parent
ef72d65aa4
commit
5dd475b2e5
3 files changed
+13
-20
No files matched your search
+1
-10
@@ -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
|
||||
|
||||
@@ -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
@@ -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)
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user