func doRequest(trans *gofast.Transport, routines int, msg gofast.Message) { var wg sync.WaitGroup for i := 0; i < routines; i++ { wg.Add(1) go func() { for j := 0; j < options.count; j++ { since := time.Now() if rmsg, err := trans.Request(msg, false); err != nil { fmt.Printf("%v\n", err) panic("exit") } else { trans.Free(rmsg) } av.Add(uint64(time.Since(since))) } wg.Done() }() } wg.Wait() }