func (rd *HIP) Encode(b *dns.Wirebuf) {
	//  0                   1                   2                   3
	//  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
	// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
	// |  HIT length   | PK algorithm  |          PK length            |
	// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
	// |                                                               |
	// ~                           HIT                                 ~
	// |                                                               |
	// +                     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
	// |                     |                                         |
	// +-+-+-+-+-+-+-+-+-+-+-+                                         +
	// |                           Public Key                          |
	// ~                                                               ~
	// |                                                               |
	// +                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
	// |                               |                               |
	// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
	// |                                                               |
	// ~                       Rendezvous Servers                      ~
	// |                                                               |
	// +             +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
	// |             |
	// +-+-+-+-+-+-+-+
	dns.Octet(len(rd.HIT)).Encode(b)
	dns.Octet(rd.PKAlgorithm).Encode(b)
	dns.Octets2(len(rd.PublicKey)).Encode(b)
	b.Buf = append(b.Buf, rd.HIT...)
	b.Buf = append(b.Buf, rd.PublicKey...)
	b.DisableCompression()
	for _, v := range rd.RendezvousServers {
		dns.DomainName(v).Encode(b)
	}
	b.EnableCompression()

}
// Implementation of dns.Wirer
Implementation of dns.Wirer
// Implementation of dns . Wirer
func (rd *HIP) Encode(b *dns.Wirebuf) {
	dns.Octet(len(rd.HIT)).Encode(b)
	dns.Octet(rd.PKAlgorithm).Encode(b)
	dns.Octets2(len(rd.PublicKey)).Encode(b)
	b.Buf = append(b.Buf, rd.HIT...)
	b.Buf = append(b.Buf, rd.PublicKey...)
	b.DisableCompression()
	for _, v := range rd.RendezvousServers {
		dns.DomainName(v).Encode(b)
	}
	b.EnableCompression()
}
func ( rd * HIP ) Encode ( b * dns . Wirebuf ) { dns . Octet ( len ( rd . HIT ) ) . Encode ( b ) dns . Octet ( rd . PKAlgorithm ) . Encode ( b ) dns . Octets2 ( len ( rd . PublicKey ) ) . Encode ( b ) b . Buf = append ( b . Buf , rd . HIT ... ) b . Buf = append ( b . Buf , rd . PublicKey ... ) b . DisableCompression ( ) for _ , v := range rd . RendezvousServers { dns . DomainName ( v ) . Encode ( b ) } b . EnableCompression ( ) }
Implementation of dns.Wirer
Implementation of dns . Wirer
//  0                   1                   2                   3 //  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // |  HIT length   | PK algorithm  |          PK length            | // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // |                                                               | // ~                           HIT                                 ~ // |                                                               | // +                     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // |                     |                                         | // +-+-+-+-+-+-+-+-+-+-+-+                                         + // |                           Public Key                          | // ~                                                               ~ // |                                                               | // +                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // |                               |                               | // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               + // |                                                               | // ~                       Rendezvous Servers                      ~ // |                                                               | // +             +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // |             | // +-+-+-+-+-+-+-+