code: func (s *Service) RR() *dns.TXT {
  	l := len(s.Text)
  	if l > 200 {
  		l = 200
  	}
  	t := new(dns.TXT)
  	t.Hdr.Class = dns.ClassCHAOS
  	t.Hdr.Ttl = s.TTL
  	t.Hdr.Rrtype = dns.TypeTXT
  	t.Hdr.Name = Domain(s.Key)
  
  	t.Txt = make([]string, 1)
  	t.Txt[0] = fmt.Sprintf("%s:%d(%d,%d,%s,%t)[%d,%s]",
  		s.Host, s.Port,
  		s.Priority, s.Weight, s.Text[:l], s.Mail,
  		s.TargetStrip, s.Group)
  	return t
  }
docs: // RR returns an RR representation of s. It is in a condensed form to minimize space
  // when this is returned in a DNS message.
  // The RR will look like:
  //	1.rails.production.east.skydns.local. 300 CH TXT "service1.example.com:8080(10,0,,false)[0,]"
  //                      etcd Key              Ttl               Host:Port          <   see below   >
  // between parens: (Priority, Weight, Text (only first 200 bytes!), Mail)
  // between blockquotes: [TargetStrip,Group]
  // If the record is synthesised by CoreDNS (i.e. no lookup in etcd happened):
  //
  //	TODO(miek): what to put here?
  //