Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DefaultHandler ¶
type DefaultHandler struct { // Logger is used for logging. A nil value will disable logging. Logger *zap.Logger Entry executable_seq.Executable // QueryTimeout limits the timeout value of each query. // Default is defaultQueryTimeout. QueryTimeout time.Duration // RecursionAvailable sets the dns.Msg.RecursionAvailable flag globally. RecursionAvailable bool }
func (*DefaultHandler) ServeDNS ¶
func (h *DefaultHandler) ServeDNS(ctx context.Context, req *dns.Msg, w ResponseWriter, meta *query_context.RequestMeta) error
ServeDNS implements Handler. If entry returns an error, a SERVFAIL response will be sent back to client. If concurrentLimit is reached, the query will block and wait available token until ctx is done.
type DummyServerHandler ¶
func (*DummyServerHandler) ServeDNS ¶
func (d *DummyServerHandler) ServeDNS(_ context.Context, req *dns.Msg, w ResponseWriter, meta *query_context.RequestMeta) error
type Handler ¶
type Handler interface { // ServeDNS handles r and writes response to w. // Implements must not keep and use req after the ServeDNS returned. // ServeDNS should handle errors by itself and sends properly error responses // to clients. // If ServeDNS returns an error, caller considers that the error is associated // with the downstream connection and will close the downstream connection // immediately. ServeDNS(ctx context.Context, req *dns.Msg, w ResponseWriter, meta *query_context.RequestMeta) error }
Handler handles dns query.
type ResponseWriter ¶
ResponseWriter can write msg to the client.
Click to show internal directories.
Click to hide internal directories.