From 9a7abe68fd8fc8e7773a7a3add270210440c9e70 Mon Sep 17 00:00:00 2001 From: Matthias Radestock Date: Thu, 20 Aug 2015 20:18:56 +0100 Subject: [PATCH] optimise response construction when no truncation is required no need to do a binary search if all the answers fit --- nameserver/dns.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nameserver/dns.go b/nameserver/dns.go index a436aac6..e927cf99 100644 --- a/nameserver/dns.go +++ b/nameserver/dns.go @@ -246,10 +246,10 @@ func (h *handler) makeResponse(req *dns.Msg, answers []dns.RR) *dns.Msg { response.SetReply(req) response.RecursionAvailable = true response.Authoritative = true + response.Answer = answers maxSize := h.getMaxResponseSize(req) - if len(answers) <= 1 || maxSize <= 0 { - response.Answer = answers + if len(answers) <= 1 || maxSize <= 0 || response.Len() <= maxSize { return response }