本文整理匯總了Golang中github.com/miekg/dns.SRV.Weight方法的典型用法代碼示例。如果您正苦於以下問題:Golang SRV.Weight方法的具體用法?Golang SRV.Weight怎麽用?Golang SRV.Weight使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/miekg/dns.SRV
的用法示例。
在下文中一共展示了SRV.Weight方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: answerSRV
func answerSRV(q *dns.Question, v *DNSValue) dns.RR {
answer := new(dns.SRV)
answer.Header().Name = q.Name
answer.Header().Rrtype = dns.TypeSRV
answer.Header().Class = dns.ClassINET
answer.Priority = 50 // default if not defined
priority, err := strconv.Atoi(v.Attr["priority"])
if err == nil {
answer.Priority = uint16(priority)
}
answer.Weight = 50 // default if not defined
weight, err := strconv.Atoi(v.Attr["weight"])
if err == nil {
answer.Weight = uint16(weight)
}
answer.Port = 0 // default if not defined
port, err := strconv.Atoi(v.Attr["port"])
if err == nil {
answer.Port = uint16(port)
}
if target, ok := v.Attr["target"]; ok {
answer.Target = strings.TrimSuffix(target, ".") + "."
} else if v.Value != "" { // allows for simplified setting
targetParts := strings.Split(v.Value, ":")
answer.Target = strings.TrimSuffix(targetParts[0], ".") + "."
if len(targetParts) > 1 {
port, err := strconv.Atoi(targetParts[1])
if err == nil {
answer.Port = uint16(port)
}
}
}
return answer
}
示例2: Test_convertAnswerToSRV_returnsAValidNetSRV
func (s *DNSXmppSuite) Test_convertAnswerToSRV_returnsAValidNetSRV(c *C) {
srv := new(dns.SRV)
srv.Target = "foo.com"
srv.Port = 123
srv.Priority = 5
srv.Weight = 42
res := convertAnswerToSRV(srv)
c.Assert(res, Not(IsNil))
c.Assert(res.Target, Equals, "foo.com")
c.Assert(res.Port, Equals, uint16(123))
c.Assert(res.Priority, Equals, uint16(5))
c.Assert(res.Weight, Equals, uint16(42))
}