blob: 2f49f86be7501468bb4350ded406e27e3f154e4b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
package dns
import "fmt"
// https://datatracker.ietf.org/doc/html/rfc1035#section-3.3.9
type MX struct {
Pref uint16
Mx Name
}
func (mx *MX) Type() uint16 { return TypeMX }
func (mx *MX) Pack(p *packer) error {
p.writeUint16(mx.Pref)
return p.writeName(mx.Mx)
}
func (mx *MX) Unpack(u *unpacker, length uint16) error {
var err error
mx.Pref, err = u.readUint16()
if err != nil {
return err
}
mx.Mx, err = u.readName()
return err
}
func (mx *MX) String() string {
return fmt.Sprintf("%d %s", mx.Pref, mx.Mx.String())
}
|