Home | History | Annotate | Download | only in net

Lines Matching refs:addrs

39 // On return, if err == nil, addrs != nil.
40 func answer(name, server string, dns *dnsMsg, qtype uint16) (cname string, addrs []dnsRR, err error) {
41 addrs = make([]dnsRR, 0, len(dns.answer))
66 addrs = addrs[0:0]
79 addrs = append(addrs, rr)
87 if len(addrs) == 0 {
90 return name, addrs, nil
213 func (addrs byPriorityWeight) shuffleByWeight() {
215 for _, addr := range addrs {
218 for sum > 0 && len(addrs) > 1 {
221 for i := range addrs {
222 s += int(addrs[i].Weight)
225 addrs[0], addrs[i] = addrs[i], addrs[0]
230 sum -= int(addrs[0].Weight)
231 addrs = addrs[1:]
236 func (addrs byPriorityWeight) sort() {
237 sort.Sort(addrs)
239 for j := 1; j < len(addrs); j++ {
240 if addrs[i].Priority != addrs[j].Priority {
241 addrs[i:j].shuffleByWeight()
245 addrs[i:].shuffleByWeight()