Documentation
¶
Index ¶
- func KeySubject(q dns.Question) string
- type ActionItem
- type ActiveSubject
- type DNSObserver
- type DnsEventStream
- func (s *DnsEventStream) Bind(sub Subject, fn func(history []*DnsResult)) (func(), error)
- func (s *DnsEventStream) CreateSubject(sub Subject) (*ActiveSubject, error)
- func (s *DnsEventStream) HistoryLimit() int
- func (s *DnsEventStream) RemoveSubject(q dns.Question) error
- func (s *DnsEventStream) Resolve(sub Subject) ([]dns.RR, error)
- func (s *DnsEventStream) Start() error
- func (s *DnsEventStream) Stop() error
- type DnsResult
- type FixResolverSubject
- type RefreshTimes
- type Subject
- type SysResolverSubject
- type XSubject
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func KeySubject ¶
Types ¶
type ActionItem ¶
func CurrentToActions ¶
func CurrentToActions(dnsrr []*DnsResult) []ActionItem
func ToActions ¶
func ToActions(new, old []dns.RR) []ActionItem
type ActiveSubject ¶
type ActiveSubject struct { Subject Subject Log *zerolog.Logger // contains filtered or unexported fields }
func NewActiveSubject ¶
func NewActiveSubject(subject Subject, dnsEventStream *DnsEventStream) (*ActiveSubject, error)
func (*ActiveSubject) Activate ¶
func (as *ActiveSubject) Activate() error
func (*ActiveSubject) Bind ¶
func (as *ActiveSubject) Bind(fn func(history []*DnsResult)) func()
func (*ActiveSubject) Deactivate ¶
func (as *ActiveSubject) Deactivate() error
func (*ActiveSubject) Refresh ¶
func (as *ActiveSubject) Refresh()
func (*ActiveSubject) Resolve ¶
func (as *ActiveSubject) Resolve() DnsResult
type DNSObserver ¶
type DNSObserver struct {
// contains filtered or unexported fields
}
func NewDNSObserver ¶
func NewDNSObserver(logs ...*log.Logger) (*DNSObserver, error)
func (*DNSObserver) AddSubject ¶
func (o *DNSObserver) AddSubject(name string, resolver resolvers.Resolver) XSubject
func (*DNSObserver) GetSubjects ¶
func (o *DNSObserver) GetSubjects() []XSubject
func (*DNSObserver) RemoveSubject ¶
func (o *DNSObserver) RemoveSubject(name string) *XSubject
func (*DNSObserver) Start ¶
func (o *DNSObserver) Start() error
func (*DNSObserver) Stop ¶
func (o *DNSObserver) Stop() error
type DnsEventStream ¶
type DnsEventStream struct {
// contains filtered or unexported fields
}
func NewDnsEventStream ¶
func NewDnsEventStream(zlog *zerolog.Logger) *DnsEventStream
func (*DnsEventStream) Bind ¶
func (s *DnsEventStream) Bind(sub Subject, fn func(history []*DnsResult)) (func(), error)
func (*DnsEventStream) CreateSubject ¶
func (s *DnsEventStream) CreateSubject(sub Subject) (*ActiveSubject, error)
func (*DnsEventStream) HistoryLimit ¶
func (s *DnsEventStream) HistoryLimit() int
func (*DnsEventStream) RemoveSubject ¶
func (s *DnsEventStream) RemoveSubject(q dns.Question) error
func (*DnsEventStream) Start ¶
func (s *DnsEventStream) Start() error
func (*DnsEventStream) Stop ¶
func (s *DnsEventStream) Stop() error
type DnsResult ¶
func NewestValidHistory ¶
type FixResolverSubject ¶
func (*FixResolverSubject) ConnectActiveSubject ¶
func (r *FixResolverSubject) ConnectActiveSubject(as *ActiveSubject)
func (*FixResolverSubject) Key ¶
func (r *FixResolverSubject) Key() dns.Question
type RefreshTimes ¶
type RefreshTimes struct {
// contains filtered or unexported fields
}
type SysResolverSubject ¶
type SysResolverSubject struct { NameServers []string Log *zerolog.Logger ResolvConf *string Timeout time.Duration Question dns.Question // contains filtered or unexported fields }
func (*SysResolverSubject) ConnectActiveSubject ¶
func (r *SysResolverSubject) ConnectActiveSubject(as *ActiveSubject)
func (*SysResolverSubject) Key ¶
func (r *SysResolverSubject) Key() dns.Question
Click to show internal directories.
Click to hide internal directories.