Create constructor for MeshnameServer

This commit is contained in:
George 2020-09-22 08:33:48 -04:00 committed by George
parent 86e3eddddf
commit 8e37f0e0e2
2 changed files with 13 additions and 12 deletions

View File

@ -72,9 +72,7 @@ func main() {
return return
} }
s := meshname.New(logger, listenAddr)
s := new(meshname.MeshnameServer)
s.Init(logger, listenAddr)
if networks, err := parseNetworks(networksconf); err == nil { if networks, err := parseNetworks(networksconf); err == nil {
s.SetNetworks(networks) s.SetNetworks(networks)
@ -89,6 +87,7 @@ func main() {
} }
s.Start() s.Start()
logger.Infoln("Listening on:", listenAddr)
c := make(chan os.Signal, 1) c := make(chan os.Signal, 1)
r := make(chan os.Signal, 1) r := make(chan os.Signal, 1)

View File

@ -24,15 +24,17 @@ type MeshnameServer struct {
started bool started bool
} }
func (s *MeshnameServer) Init(log *log.Logger, listenAddr string) { // New is a constructor for MeshnameServer
s.log = log func New(log *log.Logger, listenAddr string) *MeshnameServer {
s.listenAddr = listenAddr dnsClient := new(dns.Client)
s.zoneConfig = make(map[string][]dns.RR) dnsClient.Timeout = 5000000000 // increased 5 seconds timeout
s.networks = make(map[string]*net.IPNet)
if s.dnsClient == nil { return &MeshnameServer{
s.dnsClient = new(dns.Client) log: log,
s.dnsClient.Timeout = 5000000000 // increased 5 seconds timeout listenAddr: listenAddr,
zoneConfig: make(map[string][]dns.RR),
networks: make(map[string]*net.IPNet),
dnsClient: dnsClient,
} }
} }
@ -60,7 +62,7 @@ func (s *MeshnameServer) Start() error {
s.log.Debugln("Handling:", tld, subnet) s.log.Debugln("Handling:", tld, subnet)
} }
go s.dnsServer.ListenAndServe() go s.dnsServer.ListenAndServe()
s.log.Infoln("Started meshnamed on:", s.listenAddr) s.log.Debugln("MeshnameServer started")
s.started = true s.started = true
return nil return nil
} else { } else {