Documentation
¶
Overview ¶
Package meshdns contains the Mesh DNS server.
Index ¶
Constants ¶
View Source
const DefaultAdvertisePort = 53
DefaultAdvertisePort is the default port to advertise for Mesh DNS.
View Source
const DefaultListenTCP = "[::]:53"
DefaultListenTCP is the default TCP listen address.
View Source
const DefaultListenUDP = "[::]:53"
DefaultListenUDP is the default UDP listen address.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DomainOptions ¶ added in v0.1.2
type DomainOptions struct {
// NodeID is the node ID to use for this domain.
NodeID string
// MeshDomain is the domain to serve.
MeshDomain string
// MeshStorage is the storage for the mesh that this domain belongs to.
MeshStorage storage.Provider
// IPv6Only indicates that this domain should only respond to IPv6 requests.
IPv6Only bool
// SubscribeForwarders indicates that new forwarders added to the mesh should be
// appeneded to the current server.
SubscribeForwarders bool
}
type Options ¶
type Options struct {
// UDPListenAddr is the UDP address to listen on.
UDPListenAddr string
// TCPListenAddr is the TCP address to listen on.
TCPListenAddr string
// ReusePort enables SO_REUSEPORT on the listeners.
// TODO: not implemented yet
ReusePort int
// Compression enables DNS compression.
Compression bool
// RequestTimeout is the timeout for DNS requests.
// Defaults to 5 seconds.
RequestTimeout time.Duration
// Forwaders are the DNS forwarders to use. If empty,
// the system DNS servers will be used.
Forwarders []string
// DisableForwarding disables forwarding requests to the
// configured forwarders.
DisableForwarding bool
// CacheSize is the size of the remote DNS cache.
CacheSize int
}
Options are the Mesh DNS server options.
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
Server is the MeshDNS server.
func (*Server) ListenAndServe ¶
ListenAndServe serves the Mesh DNS server.
func (*Server) RegisterDomain ¶ added in v0.1.2
func (s *Server) RegisterDomain(opts DomainOptions) error
RegisterDomain registers a new domain to be served by the Mesh DNS server.
Click to show internal directories.
Click to hide internal directories.