rename dns.Server

pull/861/head v3.5
Darien Raymond 7 years ago
parent 2bf5a008f0
commit bc52a105ff
No known key found for this signature in database
GPG Key ID: 7251FFA14BB18169

@ -33,19 +33,19 @@ func (r *DomainRecord) Inactive() bool {
return r.Expire.Before(now) || r.LastAccess.Add(time.Minute*5).Before(now)
}
type CacheServer struct {
type Server struct {
sync.Mutex
hosts map[string]net.IP
records map[string]*DomainRecord
servers []NameServer
}
func NewCacheServer(ctx context.Context, config *Config) (*CacheServer, error) {
func New(ctx context.Context, config *Config) (*Server, error) {
space := app.SpaceFromContext(ctx)
if space == nil {
return nil, newError("no space in context")
}
server := &CacheServer{
server := &Server{
records: make(map[string]*DomainRecord),
servers: make([]NameServer, len(config.NameServers)),
hosts: config.GetInternalHosts(),
@ -77,18 +77,20 @@ func NewCacheServer(ctx context.Context, config *Config) (*CacheServer, error) {
return server, nil
}
func (*CacheServer) Interface() interface{} {
return (*CacheServer)(nil)
func (*Server) Interface() interface{} {
return (*Server)(nil)
}
func (s *CacheServer) Start() error {
func (s *Server) Start() error {
net.RegisterIPResolver(s)
return nil
}
func (*CacheServer) Close() {}
func (*Server) Close() {
net.RegisterIPResolver(net.SystemIPResolver())
}
func (s *CacheServer) GetCached(domain string) []net.IP {
func (s *Server) GetCached(domain string) []net.IP {
s.Lock()
defer s.Unlock()
@ -99,7 +101,7 @@ func (s *CacheServer) GetCached(domain string) []net.IP {
return nil
}
func (s *CacheServer) tryCleanup() {
func (s *Server) tryCleanup() {
s.Lock()
defer s.Unlock()
@ -116,7 +118,7 @@ func (s *CacheServer) tryCleanup() {
}
}
func (s *CacheServer) LookupIP(domain string) ([]net.IP, error) {
func (s *Server) LookupIP(domain string) ([]net.IP, error) {
if ip, found := s.hosts[domain]; found {
return []net.IP{ip}, nil
}
@ -154,6 +156,6 @@ func (s *CacheServer) LookupIP(domain string) ([]net.IP, error) {
func init() {
common.Must(common.RegisterConfig((*Config)(nil), func(ctx context.Context, config interface{}) (interface{}, error) {
return NewCacheServer(ctx, config.(*Config))
return New(ctx, config.(*Config))
}))
}

Loading…
Cancel
Save