Documentation
¶
Index ¶
Constants ¶
View Source
const ( NUM_WORKERS = 4 SNAPSHOT_BUFFER_SIZE = 1024 )
View Source
const CACHE_UPDATE_BUFFER_SIZE = 10_000
Variables ¶
This section is empty.
Functions ¶
func NewCacheReaperCronJob ¶
func NewCacheReaperCronJob(dispatcher *DNSDispatcher) cron.Job
Types ¶
type CacheReaper ¶
type CacheReaper struct {
// contains filtered or unexported fields
}
func (*CacheReaper) Run ¶
func (job *CacheReaper) Run()
type DNSCache ¶
type DNSCache struct {
// contains filtered or unexported fields
}
func (*DNSCache) DeleteExpired ¶
func (dc *DNSCache) DeleteExpired()
type DNSDispatcher ¶
type DNSDispatcher struct {
// contains filtered or unexported fields
}
func NewDNSDispatcher ¶
func NewDNSDispatcher( cache *DNSCache, dnsMetrics *metrics.DnsMetrics, dnsClient *RoundRobinClient, blockLists []*blocklist.BlockList, noiseFilter *noisefilter.NoiseFilter, broadcaster *sse.Broadcaster, ttlFloor time.Duration, logger *slog.Logger, enableECS bool, ) (*DNSDispatcher, error)
func (*DNSDispatcher) Close ¶
func (d *DNSDispatcher) Close()
func (*DNSDispatcher) GetBroadcaster ¶ added in v0.6.0
func (d *DNSDispatcher) GetBroadcaster() *sse.Broadcaster
func (*DNSDispatcher) HandleDNSRequest ¶
func (d *DNSDispatcher) HandleDNSRequest(source DNSSource) DispatcherFunc
type DispatcherFunc ¶
type DispatcherFunc func(writer dns.ResponseWriter, req *dns.Msg)
type QuestionResolution ¶ added in v0.13.0
type QuestionResolution struct {
// contains filtered or unexported fields
}
type RcodeError ¶
func (*RcodeError) Error ¶
func (e *RcodeError) Error() string
func (*RcodeError) ShouldLog ¶
func (e *RcodeError) ShouldLog() bool
func (*RcodeError) Unwrap ¶
func (e *RcodeError) Unwrap() error
type RequestContext ¶
type RequestContext struct {
// contains filtered or unexported fields
}
type RoundRobinClient ¶
type RoundRobinClient struct {
// contains filtered or unexported fields
}
func NewRoundRobinClient ¶
func NewRoundRobinClient(metrics *metrics.DnsMetrics, readTimeout, writeTimeout, dialTimeout time.Duration, logger *slog.Logger, upstreams ...string) (*RoundRobinClient, error)
func (*RoundRobinClient) Healthchecks ¶
func (r *RoundRobinClient) Healthchecks() []checks.Check
Click to show internal directories.
Click to hide internal directories.