)]}'
{
  "commit": "d2529067e4a9ec21872b18156646080b3c1fda46",
  "tree": "64768306c18b2d0f7294730600591238bd3b4e5b",
  "parents": [
    "571c76e919c0c48219ced35bef83e1fc83b00eed"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Tue Oct 22 17:53:35 2024 -0400"
  },
  "committer": {
    "name": "Boringssl LUCI CQ",
    "email": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Mon Nov 11 23:45:46 2024 +0000"
  },
  "message": "Use DTLS 1.3 ACKs to avoid retransmitting ACKed fragments\n\nThis implements the first part of ACK processing: track which parts of\neach outgoing message have been ACKed, update when receiving an ACK, and\nuse it to reduce retransmits. To do this, we also need to track the last\nhandful of records we sent, and use that to correlate ACKs with packets.\n\nTest this by extending the new retransmit fragment to manage ACKs. The\ncallback gets told record numbers, along with what message segments they\ncover, and may choose to ACK them. If it does, the ReadRetransmit\nexpectations will be automatically updated.\n\nFor now, I\u0027ve made no attempt to test or handle post-handshake messages.\nThat has a lot of subtle assumptions around there not being multiple\nconcurrent transactions, so I think we\u0027ll tackle this later.\n\nThis also does not handle:\n\n- Triggering retransmits when we receive partial ACKs.\n- Implicitly ACKing flights when we receive any part of the next flight.\n- Any kind of sending ACKs.\n\nBug: 42290594\nChange-Id: I9e81a7d5c8838d4d31fe828e9fd9871631fe38ed\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/72387\nReviewed-by: Nick Harper \u003cnharper@chromium.org\u003e\nCommit-Queue: David Benjamin \u003cdavidben@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0eb39707caa4e9af36c66ec1cde05eb0c218152f",
      "old_mode": 33188,
      "old_path": "ssl/d1_both.cc",
      "new_id": "16b32c1b9fe972ae57d6318e4a1ed11ba5dc6fa3",
      "new_mode": 33188,
      "new_path": "ssl/d1_both.cc"
    },
    {
      "type": "modify",
      "old_id": "a26fc707be6c61e86cdebb248ebde4e143b6e73d",
      "old_mode": 33188,
      "old_path": "ssl/d1_pkt.cc",
      "new_id": "d11b33f5b5a7adb459033445c91d82cd30149a65",
      "new_mode": 33188,
      "new_path": "ssl/d1_pkt.cc"
    },
    {
      "type": "modify",
      "old_id": "636decfbdac22016e71f51aebb03f3d14a1a8f08",
      "old_mode": 33188,
      "old_path": "ssl/internal.h",
      "new_id": "371a08c307487e33ebac38d2d8abf461d0c46ba6",
      "new_mode": 33188,
      "new_path": "ssl/internal.h"
    },
    {
      "type": "modify",
      "old_id": "90d91bd135ba3568576c89641c1bb9c41b1da2cc",
      "old_mode": 33188,
      "old_path": "ssl/ssl_internal_test.cc",
      "new_id": "9ff2e1b414539ddd0fc465dd3d262cd0a1f873eb",
      "new_mode": 33188,
      "new_path": "ssl/ssl_internal_test.cc"
    },
    {
      "type": "modify",
      "old_id": "82fde256bc8f459b2f99d2e3211b27b98a9c0010",
      "old_mode": 33188,
      "old_path": "ssl/test/runner/common.go",
      "new_id": "16a1df2c627dc1cd13100f9f1c728b2b3860bda0",
      "new_mode": 33188,
      "new_path": "ssl/test/runner/common.go"
    },
    {
      "type": "modify",
      "old_id": "d70061b547ab604130e660ec6225222a0a1d1b1d",
      "old_mode": 33188,
      "old_path": "ssl/test/runner/conn.go",
      "new_id": "cef30912f9f422908183ae3abb74938e45ec8c30",
      "new_mode": 33188,
      "new_path": "ssl/test/runner/conn.go"
    },
    {
      "type": "modify",
      "old_id": "d718f9ab64ada554bcb21d1ce901180f23602286",
      "old_mode": 33188,
      "old_path": "ssl/test/runner/dtls.go",
      "new_id": "f360e3812a0002e8076b7d0ca6f6b372b4d154d9",
      "new_mode": 33188,
      "new_path": "ssl/test/runner/dtls.go"
    },
    {
      "type": "modify",
      "old_id": "418daf78aa3b5a80e71c5d1f18ddda8382a4af71",
      "old_mode": 33188,
      "old_path": "ssl/test/runner/handshake_server.go",
      "new_id": "8c10c82058ff3799462d0f498e150738f660ea6a",
      "new_mode": 33188,
      "new_path": "ssl/test/runner/handshake_server.go"
    },
    {
      "type": "modify",
      "old_id": "604bb1ab123742a02634bff37fb45173be859a14",
      "old_mode": 33188,
      "old_path": "ssl/test/runner/runner.go",
      "new_id": "362a763430897e730aa64eff8466a9d3abef5311",
      "new_mode": 33188,
      "new_path": "ssl/test/runner/runner.go"
    },
    {
      "type": "modify",
      "old_id": "a8b0c8bd5e97b7f08eff455ad44d66433455ba01",
      "old_mode": 33188,
      "old_path": "ssl/tls13_server.cc",
      "new_id": "7fda54bdb9050f4aad0d3a83549d3ee9a3f9f49b",
      "new_mode": 33188,
      "new_path": "ssl/tls13_server.cc"
    }
  ]
}
