diff --git a/interop/client/main.go b/interop/client/main.go index d6c0daaca..c8c81d0dc 100644 --- a/interop/client/main.go +++ b/interop/client/main.go @@ -62,6 +62,8 @@ func runTestcase(testcase string) error { defer r.Close() return downloadFiles(r, urls) case "handshake", "transfer", "retry": + case "multiconnect": + return runMultiConnectTest(urls) case "versionnegotiation": return runVersionNegotiationTest(urls) case "resumption": @@ -90,6 +92,19 @@ func runVersionNegotiationTest(urls []string) error { return nil } +func runMultiConnectTest(urls []string) error { + for _, url := range urls { + r := &http09.RoundTripper{TLSClientConfig: tlsConf} + if err := downloadFile(r, url); err != nil { + return err + } + if err := r.Close(); err != nil { + return err + } + } + return nil +} + func runResumptionTest(urls []string) error { if len(urls) < 2 { return errors.New("expected at least 2 URLs") diff --git a/interop/server/main.go b/interop/server/main.go index 9b099f19c..791cb5754 100644 --- a/interop/server/main.go +++ b/interop/server/main.go @@ -42,7 +42,7 @@ func main() { tlsConf.KeyLogWriter = keyLog switch testcase { - case "versionnegotiation", "handshake", "transfer", "resumption": + case "versionnegotiation", "handshake", "transfer", "resumption", "multiconnect": err = runHTTP09Server(quicConf) case "retry": // By default, quic-go performs a Retry on every incoming connection.