)]}'
{
  "commit": "7017746ef9f887c9005f035d9bd88974d53fd48f",
  "tree": "482c41f2c67779c186867b66e7bbc610d331b466",
  "parents": [
    "52ba6a143e03e9ac84369f79ac3d06dea0128dab"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Mon Aug 10 13:38:18 2026 -0400"
  },
  "committer": {
    "name": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Wed Aug 12 09:50:45 2026 -0700"
  },
  "message": "Defer allocating reassembly buffers in DTLS\n\nWhen reassembling a DTLS message, we allocate:\n- A buffer to hold the reassembled message\n- A bitmap to track what portions of the message has been received\n\nThis means that once we receive a single fragment of the message, we\nallocate this data. While bounded, it would be nice to wait until the\npeer has sent us that much data first.\n\nIf we instead tracked the fragments individually, the memory would be\nproportional to the total data received, but efficient reassembly\nbecomes tricky.\n\nSquare this circle by using both representations. While we\u0027ve received\nso few fragments that the message cannot possibly be complete, just\nstore the fragments separately. Once enough data is received, switch to\nthe reassembly buffer representation.\n\nFixed: 545614387\nChange-Id: Idbf6637208b0e9fca5d9ea1349f5b6a5cc2e23a0\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/100827\nPresubmit-BoringSSL-Verified: boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cboringssl-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Lily Chen \u003cchlily@google.com\u003e\nCommit-Queue: David Benjamin \u003cdavidben@google.com\u003e\nAuto-Submit: David Benjamin \u003cdavidben@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ccc2f52fb08fd8da980053de0488501cfda2a491",
      "old_mode": 33188,
      "old_path": "ssl/d1_both.cc",
      "new_id": "eaac8c9f6110a04904348686eb10e9839f2d9247",
      "new_mode": 33188,
      "new_path": "ssl/d1_both.cc"
    },
    {
      "type": "modify",
      "old_id": "e08ad80156aa48dc296d447f0813172dec73d9d4",
      "old_mode": 33188,
      "old_path": "ssl/d1_pkt.cc",
      "new_id": "173bf567f52decf2695a52123fee446d6fb8fbf8",
      "new_mode": 33188,
      "new_path": "ssl/d1_pkt.cc"
    },
    {
      "type": "modify",
      "old_id": "54549628c89a3bde779fcb70162d362e592adbf6",
      "old_mode": 33188,
      "old_path": "ssl/internal.h",
      "new_id": "96f6d3d3d9f3ed8628d779bb0eab8964b324727b",
      "new_mode": 33188,
      "new_path": "ssl/internal.h"
    }
  ]
}
