diff --git a/server/mdns_client.go b/server/mdns_client.go index ad90083d..213bb61e 100644 --- a/server/mdns_client.go +++ b/server/mdns_client.go @@ -16,6 +16,7 @@ const ( // TODO: introduce caching so we don't have to wait this long on every call. mDNSTimeout = 250 * time.Millisecond MaxDuration = time.Duration(math.MaxInt64) + ChannelSize = 16 ) var ( @@ -88,7 +89,7 @@ func (c *MDNSClient) Start(ifi *net.Interface) error { c.server = &dns.Server{Listener: nil, PacketConn: multicast, Handler: dns.HandlerFunc(handleMDNS)} go c.server.ActivateAndServe() - queryChan := make(chan *MDNSInteraction, 4) + queryChan := make(chan *MDNSInteraction, ChannelSize) c.queryChan = queryChan go c.queryLoop(queryChan) diff --git a/server/server.go b/server/server.go index 37368789..ab38a9d4 100644 --- a/server/server.go +++ b/server/server.go @@ -57,7 +57,7 @@ func queryHandler(zone Zone, mdnsClient *MDNSClient) dns.HandlerFunc { } else { log.Printf("Failed lookup for %s; sending mDNS query", q.Name) // We don't know the answer; see if someone else does - channel := make(chan *ResponseA, 4) + channel := make(chan *ResponseA, ChannelSize) replies := make([]net.IP, 0) go func() { // Loop terminates when channel is closed by MDNSClient on timeout