func (self *Question) unpack(in *bytes.Reader, p []byte) error { d, e := domain.Unpack(in, p) if e != nil { return e } self.Domain = d return self.unpackFlags(in) }
func (self *RR) unpack(in *bytes.Reader, p []byte) error { var e error self.Domain, e = domain.Unpack(in, p) if e != nil { return e } if e = self.unpackFlags(in); e != nil { return e } return self.unpackRdata(in, p) }
func unpackDomain(in *bytes.Reader, n uint16, p []byte) (*domain.Domain, error) { if n == 0 { return nil, errors.New("zero domain len") } was := in.Len() d, e := domain.Unpack(in, p) now := in.Len() if was-now != int(n) { return nil, fmt.Errorf("domain length expect %d, actual %d", n, was-now) } return d, e }