8 "github.com/anacrolix/dht/v2/krpc"
9 "github.com/anacrolix/torrent/bencode"
12 func marshalAndUnmarshal(tb testing.TB, orig krpc.Msg) (ret krpc.Msg) {
13 b, err := bencode.Marshal(orig)
17 err = bencode.Unmarshal(b, &ret)
25 func BenchmarkMarshalThenUnmarshalKrpcMsg(tb *testing.B) {
30 Token: func() *string { t := "re-up"; return &t }(),
32 IP: krpc.NodeAddr{IP: net.ParseIP("1.2.3.4"), Port: 1337},
35 first := marshalAndUnmarshal(tb, orig)
36 if !reflect.DeepEqual(orig, first) {
41 for i := 0; i < tb.N; i += 1 {
42 marshalAndUnmarshal(tb, orig)