commit | 0b21d06592a511ec037411df9c245e8c15f31b22 | [log] [tgz] |
---|---|---|
author | Damien Neil <dneil@google.com> | Wed Aug 02 17:51:42 2023 -0700 |
committer | Damien Neil <dneil@google.com> | Fri Aug 04 16:27:35 2023 +0000 |
tree | 856608a453608b9f78c0ee29a1a58a7249aef681 | |
parent | 464865166c04e207ce296d9f3534c7bf5a224d0e [diff] |
quic: framework for testing blocking operations For some tests, we want to start a blocking operation and then subsequently control the progress of that operation. For example, we might write to a stream, and then feed the connection MAX_STREAM_DATA frames to permit it to gradually send the written data. This is difficult to coordinate: We can start the write in a goroutine, but we have no way to synchronize with it. Add support for testing this sort of operation, instrumenting locations where operations can block and tracking when operations are in progress and when they are blocked. This is all rather terribly complicated, but it mostly puts the complexity in one place rather than in every test. For golang/go#58547 Change-Id: I09d8f0e359f3c9fd0d444bc0320e9d53391d4877 Reviewed-on: https://go-review.googlesource.com/c/net/+/515340 TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Olif Oftimis <oftimisolif@gmail.com> Run-TryBot: Damien Neil <dneil@google.com> Reviewed-by: Jonathan Amsterdam <jba@google.com>
This repository holds supplementary Go networking libraries.
The easiest way to install is to run go get -u golang.org/x/net
. You can also manually git clone the repository to $GOPATH/src/golang.org/x/net
.
This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://golang.org/doc/contribute.html. The main issue tracker for the net repository is located at https://github.com/golang/go/issues. Prefix your issue with “x/net:” in the subject line, so it is easy to find.