commit | 5a444b4f2fe893ea00f0376da46aa5376c3f3e28 | [log] [tgz] |
---|---|---|
author | Damien Neil <dneil@google.com> | Wed Nov 29 10:41:41 2023 -0800 |
committer | Damien Neil <dneil@google.com> | Thu Feb 08 18:20:20 2024 +0000 |
tree | 917c906b10365408437d6d5b4987eb219887961e | |
parent | 73d21fdbb4d7dc7115b50526b93b6c37a4e3377f [diff] |
quic: add Stream.Set{Read,Write}Context, drop {Read,Write,Close}Context The ReadContext, WriteContext, and CloseContext Stream methods are difficult to use in conjunction with functions that operate on an io.Reader, io.Writer, or io.Closer. For example, it's reasonable to want to use io.ReadFull with a Stream, but doing so with a context is cumbersome. Drop the Stream methods that take a Context in favor of stateful methods that set the Context to use for read and write operations. (Close counts as a write operation, since it blocks waiting for data to be sent.) Intentionally make Set{Read,Write}Context not concurrency safe, to allow the race detector to catch misuse. This shouldn't be a problem for correct programs, since reads and writes are inherently not concurrency-safe. For golang/go#58547 Change-Id: I41378eb552d89a720921fc8644d3637c1a545676 Reviewed-on: https://go-review.googlesource.com/c/net/+/550795 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.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.