)]}'
{
  "commit": "952fc9c67e96e9f1be740da52245cba3cb2ed0bb",
  "tree": "f07b2de2481b2a5398a1b260aa72e918aa03d561",
  "parents": [
    "02fe9a59739ec5f229e86989c78fc81315d45579"
  ],
  "author": {
    "name": "Damien Neil",
    "email": "dneil@google.com",
    "time": "Thu Jun 15 09:45:21 2023 -0700"
  },
  "committer": {
    "name": "Damien Neil",
    "email": "dneil@google.com",
    "time": "Tue Jun 27 15:03:13 2023 +0000"
  },
  "message": "quic: move ack_delay_exponent handling out of frame parsing\n\nThe ACK Delay field of ACK frames contains a duration.\nThe field contains an integer which is multiplied by two to the\npower of the sender\u0027s ack_delay_exponent transport parameter to\narrive at the delay in microseconds.\n\nChange the frame parsing and encoding layer to operate on the\nunscaled field value, rather than passing the ack_delay_exponent\nand a duration. This better expresses the fact that we may\nparse an ACK frame without knowing the ack_delay_exponent, if\nthe ACK is received before transport parameters.\n\nFor golang/go#58547\n\nChange-Id: Ic26256761961ce89aea0618b849e5661b0502b12\nReviewed-on: https://go-review.googlesource.com/c/net/+/504855\nTryBot-Result: Gopher Robot \u003cgobot@golang.org\u003e\nRun-TryBot: Damien Neil \u003cdneil@google.com\u003e\nReviewed-by: Jonathan Amsterdam \u003cjba@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "66bdf3cbc06a4fdf4044eea4a07fa586e8449c24",
      "new_mode": 33188,
      "new_path": "internal/quic/ack_delay.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "038964a6ddfa2c7b22951ab585c77f65be5b7683",
      "new_mode": 33188,
      "new_path": "internal/quic/ack_delay_test.go"
    },
    {
      "type": "modify",
      "old_id": "93ddf55137857fcdc3a0a7a7e59bca22612d5c50",
      "old_mode": 33188,
      "old_path": "internal/quic/frame_debug.go",
      "new_id": "945bb9d1f77948fba8b412958c45e78c658ba5d0",
      "new_mode": 33188,
      "new_path": "internal/quic/frame_debug.go"
    },
    {
      "type": "modify",
      "old_id": "efd519b1f7dc422aeff38001d86a09d7565137cd",
      "old_mode": 33188,
      "old_path": "internal/quic/packet_codec_test.go",
      "new_id": "499ec4dead969e2f2f4deeb13d3b2c2341b83c6c",
      "new_mode": 33188,
      "new_path": "internal/quic/packet_codec_test.go"
    },
    {
      "type": "modify",
      "old_id": "cc025b6f3696a0633d45aed7403bad4ec13eb1b2",
      "old_mode": 33188,
      "old_path": "internal/quic/packet_parser.go",
      "new_id": "e910e0eb7e7d8e07a1b4c6e3d7f023bb035b99bc",
      "new_mode": 33188,
      "new_path": "internal/quic/packet_parser.go"
    },
    {
      "type": "modify",
      "old_id": "bfe9af79631bb0aa556f86d548e3a65e5dc89446",
      "old_mode": 33188,
      "old_path": "internal/quic/packet_writer.go",
      "new_id": "97987e0c2f7410c492d6d9f6cc16895897be61c1",
      "new_mode": 33188,
      "new_path": "internal/quic/packet_writer.go"
    }
  ]
}
