Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: golang/net
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.18.0
Choose a base ref
...
head repository: golang/net
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v0.19.0
Choose a head ref
  • 6 commits
  • 36 files changed
  • 2 contributors

Commits on Nov 17, 2023

  1. quic: basic qlog support

    Add the structure for generating and writing qlog events.
    
    Events are generated as slog events using the structure of
    the qlog events (draft-ietf-quic-qlog-quic-events-03).
    
    The qlog package contains a slog Handler implementation
    that converts the quic package events to qlog JSON.
    
    This CL generates events for connection creation and closure.
    Future CLs will add additional events.
    
    Events follow draft-ietf-quic-qlog-quic-events-03, which
    is the most recent draft supported by the qvis visualization
    tool.
    
    https://www.ietf.org/archive/id/draft-ietf-quic-qlog-main-schema-04.html
    https://www.ietf.org/archive/id/draft-ietf-quic-qlog-quic-events-03.html
    
    For golang/go#58547
    
    Change-Id: I5fb1b7653d0257cb86726bd5bc9e8775da74686a
    Reviewed-on: https://go-review.googlesource.com/c/net/+/537936
    Auto-Submit: Damien Neil <dneil@google.com>
    LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    Reviewed-by: Jonathan Amsterdam <jba@google.com>
    neild authored and gopherbot committed Nov 17, 2023
    Configuration menu
    Copy the full SHA
    7b5abfa View commit details
    Browse the repository at this point in the history
  2. quic: idle timeouts, handshake timeouts, and keepalive

    Negotiate the connection idle timeout based on the sent and received
    max_idle_timeout transport parameter values.
    
    Set a configurable limit on how long a handshake can take to complete.
    
    Add a configuration option to send keep-alive PING frames to avoid
    connection closure due to the idle timeout.
    
    RFC 9000, Section 10.1.
    
    For golang/go#58547
    
    Change-Id: If6a611090ab836cd6937fcfbb1360a0f07425102
    Reviewed-on: https://go-review.googlesource.com/c/net/+/540895
    LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    Reviewed-by: Jonathan Amsterdam <jba@google.com>
    neild committed Nov 17, 2023
    Configuration menu
    Copy the full SHA
    d87f99b View commit details
    Browse the repository at this point in the history
  3. quic: implement stream flush

    Do not commit data written to a stream to the network until
    the user explicitly flushes the stream, the stream output
    buffer fills, or the output buffer contains enough data to
    fill a packet.
    
    We could write data immediately (as net.TCPConn does),
    but this can require the user to put their own buffer in
    front of the stream. Since we necessarily need to maintain
    a retransmit buffer in the stream, this is redundant.
    
    We could do something like Nagle's algorithm, but nobody
    wants that.
    
    So make flushes explicit.
    
    For golang/go#58547
    
    Change-Id: I29dc9d79556c7a358a360ef79beb38b45040b6bc
    Reviewed-on: https://go-review.googlesource.com/c/net/+/543083
    Auto-Submit: Damien Neil <dneil@google.com>
    LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    Reviewed-by: Jonathan Amsterdam <jba@google.com>
    neild authored and gopherbot committed Nov 17, 2023
    Configuration menu
    Copy the full SHA
    399218d View commit details
    Browse the repository at this point in the history
  4. quic: rename Listener to Endpoint

    The name Listener is confusing, because unlike a net.Listener
    a quic.Listener manages outgoing connections as well as inbound ones.
    
    Rename to "endpoint" which doesn't map to any existing
    net package name and matches the terminology of the QUIC RFCs.
    
    For golang/go#58547
    
    Change-Id: If87f8c67ac7dd15d89d2d082a8ba2c63ea7f6e26
    Reviewed-on: https://go-review.googlesource.com/c/net/+/543298
    LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    Reviewed-by: Jonathan Amsterdam <jba@google.com>
    neild committed Nov 17, 2023
    Configuration menu
    Copy the full SHA
    e26b9a4 View commit details
    Browse the repository at this point in the history
  5. quic: rename listener{_test}.go to endpoint{_test}.go

    Separate from CL 543298 to help git recognize that this is a rename.
    
    Change-Id: I1cbdffeb66d0960c951a564b8fc1a3dcf2cf40f6
    Reviewed-on: https://go-review.googlesource.com/c/net/+/543299
    Reviewed-by: Jonathan Amsterdam <jba@google.com>
    LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    neild committed Nov 17, 2023
    Configuration menu
    Copy the full SHA
    13e88dd View commit details
    Browse the repository at this point in the history

Commits on Nov 27, 2023

  1. go.mod: update golang.org/x dependencies

    Update golang.org/x dependencies to their latest tagged versions.
    
    Change-Id: Ia3b446633ffc0b3264692cfaae765bfb79063dab
    Reviewed-on: https://go-review.googlesource.com/c/net/+/545175
    Auto-Submit: Gopher Robot <gobot@golang.org>
    LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    Reviewed-by: Michael Knyszek <mknyszek@google.com>
    Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
    gopherbot committed Nov 27, 2023
    Configuration menu
    Copy the full SHA
    a8e0109 View commit details
    Browse the repository at this point in the history
Loading