)]}'
{
  "commit": "da8a45fdaa7035a07026c95efdb4b882adc52cc4",
  "tree": "beb7309272cbe2c4b92c8feefd21ac547feadfdd",
  "parents": [
    "dedcdfeba35e7cb46c2187f8bcf160bad2023575"
  ],
  "author": {
    "name": "Markus Handell",
    "email": "handellm@webrtc.org",
    "time": "Mon Jun 07 11:41:15 2021"
  },
  "committer": {
    "name": "WebRTC LUCI CQ",
    "email": "webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Mon Jun 07 18:15:34 2021"
  },
  "message": "AllocationSequence: migrate from rtc::Message to TaskQueue.\n\nAllocationSequence uses legacy rtc::Thread message handling. In order\nto cancel callbacks it uses rtc::Thread::Clear() which uses locks and\nnecessitates looping through all currently queued (unbounded) messages\nin the thread. In particular, these Clear calls are common during\nnegotiation and the probability of having a lot of queued messages is\nhigh due to a long-running network thread function invoked on the\nnetwork thread.\n\nFix this by migrating AllocationSequence to task queues.\n\nBug: webrtc:12840, webrtc:9702\nChange-Id: I42bbdb59fb2c88b50e866326ba15134dcc6ce691\nReviewed-on: https://webrtc-review.googlesource.com/c/src/+/221369\nCommit-Queue: Markus Handell \u003chandellm@webrtc.org\u003e\nReviewed-by: Harald Alvestrand \u003chta@webrtc.org\u003e\nCr-Commit-Position: refs/heads/master@{#34241}\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "49d4958d59cb820e51242d7cd6c43254ee301d43",
      "old_mode": 33188,
      "old_path": "p2p/client/basic_port_allocator.cc",
      "new_id": "9d7a4f9005422c397e17e8b2f74dcf9f4a2f4054",
      "new_mode": 33188,
      "new_path": "p2p/client/basic_port_allocator.cc"
    },
    {
      "type": "modify",
      "old_id": "ede9395a94dc6e7fad73e7b7606d3864a63e51ef",
      "old_mode": 33188,
      "old_path": "p2p/client/basic_port_allocator.h",
      "new_id": "77aceb1e9cf7e028abb78e0a485e025bbc52f412",
      "new_mode": 33188,
      "new_path": "p2p/client/basic_port_allocator.h"
    }
  ]
}
