| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- package aerotun
- import "testing"
- func BenchmarkProtocolRoundTrip(b *testing.B) {
- a, err := newProtocol(testPSK)
- if err != nil {
- b.Fatal(err)
- }
- peer, err := newProtocol(testPSK)
- if err != nil {
- b.Fatal(err)
- }
- hello, _ := a.seal(flagHello, []byte{5, 140}, zeroSession)
- _, _, sender, _, err := peer.open(hello)
- if err != nil {
- b.Fatal(err)
- }
- ack, _ := peer.seal(flagAck, []byte{5, 140}, sender)
- _, _, sender, _, err = a.open(ack)
- if err != nil {
- b.Fatal(err)
- }
- confirm, _ := a.seal(flagConfirm, []byte{5, 140}, sender)
- if _, _, _, _, err = peer.open(confirm); err != nil {
- b.Fatal(err)
- }
- payload := make([]byte, 1200)
- b.SetBytes(int64(len(payload)))
- b.ReportAllocs()
- b.ResetTimer()
- for range b.N {
- packet, err := a.seal(0, payload, zeroSession)
- if err != nil {
- b.Fatal(err)
- }
- if _, _, _, _, err = peer.open(packet); err != nil {
- b.Fatal(err)
- }
- }
- }
|