)]}'
{
  "commit": "505f76ab8a10dea13c88f736d87b2be4cabd2b69",
  "tree": "21f5a8fb259d3488e50ecb876ff1596aca81f294",
  "parents": [
    "bbd7e97c15e1d493ee10fc6d1d59ec05e9b6bfd6"
  ],
  "author": {
    "name": "Per K",
    "email": "perkj@webrtc.org",
    "time": "Fri Oct 09 13:58:50 2026"
  },
  "committer": {
    "name": "webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Fri Oct 09 15:02:47 2026"
  },
  "message": "DualPi2: Implement WRR credit scheduler\n\nImplements the RFC 9332 / Linux sch_dualpi2 byte-weighted round-robin\n(WRR) credit scheduler (Config::c_protection, defaulting to 10% weight\nfor the classic queue and 90% weight for the L4S queue):\n\n1. Prevents classic queue starvation: Previously, l4s_queue_ had strict\n   priority over classic_queue_, allowing sustained L4S traffic to\n   starve non-ECT packets (such as ICE STUN pings) in classic_queue_\n   and inflate RTT measurements.\n2. Coupled queue delay sampling: Updates UpdateBaseMarkingProbability()\n   to sample max(l4s_queue_delay, classic_queue_delay) per RFC 9332 so\n   alternating dequeues between classic and L4S queues do not cause\n   negative integral updates while both queues are backlogged.\n\nBug: webrtc:447037083, webrtc:42225697\nChange-Id: Ie0cc4fb39ad9e5c9f412a2046f648381f94d5f13\nReviewed-on: https://webrtc-review.googlesource.com/c/src/+/508180\nReviewed-by: Rasmus Brandt \u003cbrandtr@webrtc.org\u003e\nCommit-Queue: Per Kjellander \u003cperkj@webrtc.org\u003e\nCr-Commit-Position: refs/heads/main@{#48842}\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3cdee50e10d7ec6be41a41fbfb229769e02013a2",
      "old_mode": 33188,
      "old_path": "api/test/network_emulation/BUILD.gn",
      "new_id": "7b0b3a788fc5c3e0478a6d632c40b6ad5b17daca",
      "new_mode": 33188,
      "new_path": "api/test/network_emulation/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "098fa4d68bdf0e4cfcdb345423e83aa178b99d4c",
      "old_mode": 33188,
      "old_path": "api/test/network_emulation/dual_pi2_network_queue.cc",
      "new_id": "acf33a36edfbdefbc23d64f60faafe0f8209dc23",
      "new_mode": 33188,
      "new_path": "api/test/network_emulation/dual_pi2_network_queue.cc"
    },
    {
      "type": "modify",
      "old_id": "ce64ac558013ac67acaf27834062ccb5c823bf9b",
      "old_mode": 33188,
      "old_path": "api/test/network_emulation/dual_pi2_network_queue.h",
      "new_id": "851fb47b7431d9fe3b5e879698ca6024bf275d43",
      "new_mode": 33188,
      "new_path": "api/test/network_emulation/dual_pi2_network_queue.h"
    },
    {
      "type": "modify",
      "old_id": "c169ff5ad1fb586d9360f360e60bd3189ea3f327",
      "old_mode": 33188,
      "old_path": "api/test/network_emulation/dual_pi2_network_queue_unittest.cc",
      "new_id": "a6cb7b6f7a53d36a741eaa7005f75159f92554b1",
      "new_mode": 33188,
      "new_path": "api/test/network_emulation/dual_pi2_network_queue_unittest.cc"
    }
  ]
}
