)]}'
{
  "commit": "a9211165ba50c445bb6d7d6536a9315c16508252",
  "tree": "589b6db24f5e05cee6cb0749e53b517e409604f2",
  "parents": [
    "1e63673a3731a7d0de9f9aabef55e96f0129f147"
  ],
  "author": {
    "name": "Wyatt Hepler",
    "email": "hepler@google.com",
    "time": "Sat Jun 12 15:40:11 2021 -0700"
  },
  "committer": {
    "name": "CQ Bot Account",
    "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue Jun 15 23:39:53 2021 +0000"
  },
  "message": "pw_rpc: Protocol updates for client streams\n\n- Add a CLIENT_STREAM packet for messages in client streams.\n- Rename CANCEL_SERVER_STREAM to CANCEL, since it applies to all RPC\n  types.\n- Remove server responses to CANCEL packets from protocol description.\n- Document cancellation of unary RPCs.\n\nChange-Id: I3b15beb2de94f318fac58fc3d682aefe41056676\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/48800\nCommit-Queue: Wyatt Hepler \u003chepler@google.com\u003e\nReviewed-by: Alexei Frolov \u003cfrolv@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "da4ac013dfbcf4308eedc3849a16ae51ac31bb94",
      "old_mode": 33188,
      "old_path": "pw_rpc/base_client_call.cc",
      "new_id": "2560ab87978e232b958b1fdb232327e767e5f72c",
      "new_mode": 33188,
      "new_path": "pw_rpc/base_client_call.cc"
    },
    {
      "type": "modify",
      "old_id": "a5993fea4890f5cb9fdffb791ce79c8307a94a80",
      "old_mode": 33188,
      "old_path": "pw_rpc/client_test.cc",
      "new_id": "7594df99dd4ba0dfaf1a1c2ae17c8e39236d0b31",
      "new_mode": 33188,
      "new_path": "pw_rpc/client_test.cc"
    },
    {
      "type": "modify",
      "old_id": "5cde965d4c79c673a3d2d868fc767cef9f5dd500",
      "old_mode": 33188,
      "old_path": "pw_rpc/docs.rst",
      "new_id": "6ff8e438e0b3e25532c7bd72816348cf0b5da9ef",
      "new_mode": 33188,
      "new_path": "pw_rpc/docs.rst"
    },
    {
      "type": "modify",
      "old_id": "459ac94c66f6ddca019ec51c9ec3421e29a0b76b",
      "old_mode": 33188,
      "old_path": "pw_rpc/internal/packet.proto",
      "new_id": "4438247a0b68ca96e01f29eeffb179527005d66a",
      "new_mode": 33188,
      "new_path": "pw_rpc/internal/packet.proto"
    },
    {
      "type": "modify",
      "old_id": "3f15468002fc664d2cc76591aaf4da65de84eec3",
      "old_mode": 33188,
      "old_path": "pw_rpc/py/pw_rpc/packets.py",
      "new_id": "d36b7a47f99ec65927f5ba533d528971af3f9bc2",
      "new_mode": 33188,
      "new_path": "pw_rpc/py/pw_rpc/packets.py"
    },
    {
      "type": "modify",
      "old_id": "ed7ec9cb8854cf1e55957a60389253b7dc435c75",
      "old_mode": 33261,
      "old_path": "pw_rpc/py/tests/callback_client_test.py",
      "new_id": "0373a071b796b028b229e558d4fb30a54ce28c47",
      "new_mode": 33261,
      "new_path": "pw_rpc/py/tests/callback_client_test.py"
    },
    {
      "type": "modify",
      "old_id": "4bf4dc10c9dce53354176203e7a6f8ec60a9478c",
      "old_mode": 33261,
      "old_path": "pw_rpc/py/tests/packets_test.py",
      "new_id": "11ae6762522f61b96aa5cad091d30e450b29a1f8",
      "new_mode": 33261,
      "new_path": "pw_rpc/py/tests/packets_test.py"
    },
    {
      "type": "modify",
      "old_id": "59da7d21b33b357ec2107eab80d2915716c47e8a",
      "old_mode": 33188,
      "old_path": "pw_rpc/server.cc",
      "new_id": "1c9e81325aef4d9438077d77a4b812c52d9e2b91",
      "new_mode": 33188,
      "new_path": "pw_rpc/server.cc"
    },
    {
      "type": "modify",
      "old_id": "b15d276121854c17f48fda99156777faa4b927e5",
      "old_mode": 33188,
      "old_path": "pw_rpc/server_test.cc",
      "new_id": "541000b3b3b8f466e399c1d604091e0a05f9fc09",
      "new_mode": 33188,
      "new_path": "pw_rpc/server_test.cc"
    }
  ]
}
