)]}'
{
  "commit": "908d5e466d06276da0fda2ad4dfb9e8c5e640733",
  "tree": "cd951a35d4a93850f3662f4b7efec7f0de8d2ac9",
  "parents": [
    "197001fcb28b83f8de2dfb274a9e0c1765aebbdf"
  ],
  "author": {
    "name": "QUICHE team",
    "email": "quiche-dev@google.com",
    "time": "Tue Feb 10 15:01:44 2026 -0800"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Tue Feb 10 15:02:44 2026 -0800"
  },
  "message": "QBONE Bonnet: Prepare for ability to split Read/Write fds in `TunDevice`.\n\nThis modifies the `TunDeviceInterface` API such that it has separate accessors for a read and a write file descriptor. For now, the concrete implementation is unmodified and returns its single file descriptor from both, matching current behavior.\n\nA future implementation of the interface could in theory open and return distinct fds.\n\nProtected by n/a, not GFE.\n\nPiperOrigin-RevId: 868335506\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b712db5a8d1b6a5c6cc40302b6c0dbb59bee6153",
      "old_mode": 33188,
      "old_path": "quiche/quic/qbone/bonnet/mock_tun_device.h",
      "new_id": "bc5b4621e7259355e4f4c7dc0d45f2f08ec7bb86",
      "new_mode": 33188,
      "new_path": "quiche/quic/qbone/bonnet/mock_tun_device.h"
    },
    {
      "type": "modify",
      "old_id": "a39aabfb663bdde9bdf9517d6ef1923d769992fb",
      "old_mode": 33188,
      "old_path": "quiche/quic/qbone/bonnet/tun_device.cc",
      "new_id": "b9c6d1b4207d72df88c1d5ff6a43b6ae9218c03d",
      "new_mode": 33188,
      "new_path": "quiche/quic/qbone/bonnet/tun_device.cc"
    },
    {
      "type": "modify",
      "old_id": "ccc22cbe9a11655941f8dcccd65b2b4f1fd6729c",
      "old_mode": 33188,
      "old_path": "quiche/quic/qbone/bonnet/tun_device.h",
      "new_id": "8eb16158a0f255bb77bc7093bf5861b68d887130",
      "new_mode": 33188,
      "new_path": "quiche/quic/qbone/bonnet/tun_device.h"
    },
    {
      "type": "modify",
      "old_id": "e88efa97186a963480839f5d08adfbbadc2d8ff1",
      "old_mode": 33188,
      "old_path": "quiche/quic/qbone/bonnet/tun_device_interface.h",
      "new_id": "1bec7e9f753d5d64d28557e4024f77b8ef922445",
      "new_mode": 33188,
      "new_path": "quiche/quic/qbone/bonnet/tun_device_interface.h"
    },
    {
      "type": "modify",
      "old_id": "946cdcd924c6d93d3701a0c72e35988fb7acca88",
      "old_mode": 33188,
      "old_path": "quiche/quic/qbone/bonnet/tun_device_packet_exchanger.cc",
      "new_id": "3d975d6ef77e1dda7ce60ec3ad80695e0843a541",
      "new_mode": 33188,
      "new_path": "quiche/quic/qbone/bonnet/tun_device_packet_exchanger.cc"
    },
    {
      "type": "modify",
      "old_id": "57f0bf69a290d65edf4484a80407eedaab732e68",
      "old_mode": 33188,
      "old_path": "quiche/quic/qbone/bonnet/tun_device_packet_exchanger.h",
      "new_id": "1f4d0fc89fbfe130bbd517608aea5666b28fd090",
      "new_mode": 33188,
      "new_path": "quiche/quic/qbone/bonnet/tun_device_packet_exchanger.h"
    },
    {
      "type": "modify",
      "old_id": "cd9f668b68644fe03931b06aeb3f7964239a4a28",
      "old_mode": 33188,
      "old_path": "quiche/quic/qbone/bonnet/tun_device_packet_exchanger_test.cc",
      "new_id": "b5a4de9c01867661d367b428981fed3367a709a7",
      "new_mode": 33188,
      "new_path": "quiche/quic/qbone/bonnet/tun_device_packet_exchanger_test.cc"
    },
    {
      "type": "modify",
      "old_id": "5bb50e1f3f69aa255a88b167dcffc4887c091472",
      "old_mode": 33188,
      "old_path": "quiche/quic/qbone/bonnet/tun_device_test.cc",
      "new_id": "1e3b9defa28762cf4179702a7f3ec8e341344291",
      "new_mode": 33188,
      "new_path": "quiche/quic/qbone/bonnet/tun_device_test.cc"
    }
  ]
}
