)]}'
{
  "commit": "c2ffdeee34b23dc8a69360e8ed80d2b276d72377",
  "tree": "06728269f98d59bd62a7955650e5c343377c6c85",
  "parents": [
    "c311a00b5448c476217bc756ade43d7a38813b14"
  ],
  "author": {
    "name": "Tommi",
    "email": "tommi@webrtc.org",
    "time": "Sat Jan 24 15:09:06 2026"
  },
  "committer": {
    "name": "WebRTC LUCI CQ",
    "email": "webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Mon Jan 26 21:52:52 2026"
  },
  "message": "Remove blocking calls from the stats gathering path in RTCStatsCollector\n\nImprove tests for CancelPendingRequestAndGetShutdownTasks to more\naccurately simulate multithreaded shutdown. Any pending operations are\ncancelled as before, but CancelPendingRequestAndGetShutdownTasks will\nnow optionally issue the pending callbacks immediately while also\ncanceling pending async operations without blocking.\n\nRemove WaitForPendingRequest which was previously called from PC::Close.\nThe dependency on the transport controller is not a concern anymore.\n\n* Introduce `worker_safety_` to guard tasks running on the worker\n  thread.\n* Refactor `PrepareTransceiverStatsInfosAndCallStats_s_w` to return\n  an `absl::AnyInvocable` and pass data via function arguments\n  instead of storing intermediate results in `collection_context_`.\n* Remove `network_report_event_` as manual synchronization is no\n  longer needed.\n* Ensure pending requests receive callbacks immediately during\n  shutdown or are safely dropped if the collector is destroyed.\n\nBug: webrtc:42222804\nChange-Id: Ibb576e46dfa77e95c072d99282f6780a6df46458\nReviewed-on: https://webrtc-review.googlesource.com/c/src/+/443460\nReviewed-by: Harald Alvestrand \u003chta@webrtc.org\u003e\nCommit-Queue: Tomas Gunnarsson \u003ctommi@webrtc.org\u003e\nCr-Commit-Position: refs/heads/main@{#46747}\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ad71425d86168427b551400b46aec08fd31a1025",
      "old_mode": 33188,
      "old_path": "pc/peer_connection.cc",
      "new_id": "8921c1035051b7466693cd0f8a998f82fa227421",
      "new_mode": 33188,
      "new_path": "pc/peer_connection.cc"
    },
    {
      "type": "modify",
      "old_id": "dfdcd9318b2b725a918076199dbc32299dade3d6",
      "old_mode": 33188,
      "old_path": "pc/rtc_stats_collector.cc",
      "new_id": "d1c999117d0113b3c8e11a63583308c8aeb84c47",
      "new_mode": 33188,
      "new_path": "pc/rtc_stats_collector.cc"
    },
    {
      "type": "modify",
      "old_id": "8efd4bee2885ea16ab5924f967d9540dba840f99",
      "old_mode": 33188,
      "old_path": "pc/rtc_stats_collector.h",
      "new_id": "8553d196f9c4d5986bbb0747604fc5c371b94c3f",
      "new_mode": 33188,
      "new_path": "pc/rtc_stats_collector.h"
    },
    {
      "type": "modify",
      "old_id": "064168b9f853b9aaa3b50c5792dba1cee147b099",
      "old_mode": 33188,
      "old_path": "pc/rtc_stats_collector_unittest.cc",
      "new_id": "ca3a9782624e5ffd0d3317f017e2d73205a97140",
      "new_mode": 33188,
      "new_path": "pc/rtc_stats_collector_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "ffa035c50cedca65bb4ec056c3e20250940aa20a",
      "old_mode": 33188,
      "old_path": "pc/rtc_stats_integrationtest.cc",
      "new_id": "d5898c7e333d7eaf3f0aed237744d090de0e1e08",
      "new_mode": 33188,
      "new_path": "pc/rtc_stats_integrationtest.cc"
    },
    {
      "type": "modify",
      "old_id": "cc00af6dd69449132d867193dceed24f37deaabb",
      "old_mode": 33188,
      "old_path": "pc/test/fake_peer_connection_for_stats.h",
      "new_id": "38dc4f6b36bd9809b6f6b6dc8aea80252ea9b617",
      "new_mode": 33188,
      "new_path": "pc/test/fake_peer_connection_for_stats.h"
    }
  ]
}
