)]}'
{
  "commit": "8a2df8f151f2f0e845a32ba19dc906b22257a0b2",
  "tree": "2aa26163bcb8906f5696a5fd3f305003a9437978",
  "parents": [
    "a14a7ae25e9ed27c02847931b28a9b3ea8ed9840"
  ],
  "author": {
    "name": "renjietang",
    "email": "renjietang@google.com",
    "time": "Wed Aug 07 10:43:52 2019 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Wed Aug 07 10:44:21 2019 -0700"
  },
  "message": "Allow QpackStreamSenderDelegate to be set dynamically.\n\nIn IETF QUIC, the session is not allowed to open any stream until stream limit is negotiated. This means that when QPACK encoder/decoder are initialized, QPACK streams might not exist yet. Plus the peer may not support QPACK dynamic table, in which case we might choose not to create QPACK streams.\n\nThis change allows send stream to be nullptr upon initialization and be set later when QPACK streams are initialized.\n\ngfe-relnote: v99 only, not protected.\nPiperOrigin-RevId: 262167938\nChange-Id: Ibd9f96dec3abcbde98e43e1199f369a1c951922d\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "750f3715b2e8333a6149a523644d5f60cf2d788e",
      "old_mode": 33188,
      "old_path": "quic/core/http/end_to_end_test.cc",
      "new_id": "bbd18921ca85cbdb9c23600ef2ae6d7380b23d7d",
      "new_mode": 33188,
      "new_path": "quic/core/http/end_to_end_test.cc"
    },
    {
      "type": "modify",
      "old_id": "ad13dc1d8f6fedbe0ce666544f06eccb4f438f9d",
      "old_mode": 33188,
      "old_path": "quic/core/http/quic_spdy_session.cc",
      "new_id": "87208eeaf4d8c385e2ab5051ae72916eca059a67",
      "new_mode": 33188,
      "new_path": "quic/core/http/quic_spdy_session.cc"
    },
    {
      "type": "modify",
      "old_id": "894573fe061acae737ec4c14b7e9d7e3d13b7ffb",
      "old_mode": 33188,
      "old_path": "quic/core/http/quic_spdy_stream_test.cc",
      "new_id": "ef9d6ff0d0c3be3414c09c17696d2ee20b4b05a4",
      "new_mode": 33188,
      "new_path": "quic/core/http/quic_spdy_stream_test.cc"
    },
    {
      "type": "modify",
      "old_id": "78c4c202594763f1a008464639da59d980c2b190",
      "old_mode": 33188,
      "old_path": "quic/core/qpack/fuzzer/qpack_encoder_stream_sender_fuzzer.cc",
      "new_id": "d5204b3856172d13049afacc3f1cbe09bde2a977",
      "new_mode": 33188,
      "new_path": "quic/core/qpack/fuzzer/qpack_encoder_stream_sender_fuzzer.cc"
    },
    {
      "type": "modify",
      "old_id": "fceaac52de7ca4fd60f870b7f02d67b8e283e3fa",
      "old_mode": 33188,
      "old_path": "quic/core/qpack/fuzzer/qpack_round_trip_fuzzer.cc",
      "new_id": "a9e9a0e2548e4aed77782f7f9e104fbbd92831c6",
      "new_mode": 33188,
      "new_path": "quic/core/qpack/fuzzer/qpack_round_trip_fuzzer.cc"
    },
    {
      "type": "modify",
      "old_id": "267c6790f57ea74deadac3f38775aa09677b8602",
      "old_mode": 33188,
      "old_path": "quic/core/qpack/offline/qpack_offline_decoder.cc",
      "new_id": "b6ad935acea5fc006709f0a9531b271484d60983",
      "new_mode": 33188,
      "new_path": "quic/core/qpack/offline/qpack_offline_decoder.cc"
    },
    {
      "type": "modify",
      "old_id": "ed5a4c0b6e52b6de00a7e19d889113081acf7375",
      "old_mode": 33188,
      "old_path": "quic/core/qpack/qpack_decoded_headers_accumulator_test.cc",
      "new_id": "3f7ae25865da3ef14f213baea4a0fc481f8e5901",
      "new_mode": 33188,
      "new_path": "quic/core/qpack/qpack_decoded_headers_accumulator_test.cc"
    },
    {
      "type": "modify",
      "old_id": "ae4d68bc51fa662f1a6cb7815b4d148eb8c84ad1",
      "old_mode": 33188,
      "old_path": "quic/core/qpack/qpack_decoder.cc",
      "new_id": "739bc1e8ffd5299741c7b2de28353e5acb455003",
      "new_mode": 33188,
      "new_path": "quic/core/qpack/qpack_decoder.cc"
    },
    {
      "type": "modify",
      "old_id": "1cc07e4ecc1013e0b25c58f80db664e8e4a9feee",
      "old_mode": 33188,
      "old_path": "quic/core/qpack/qpack_decoder.h",
      "new_id": "b3eea5969e179b4a1d90d38628fbbc450f628576",
      "new_mode": 33188,
      "new_path": "quic/core/qpack/qpack_decoder.h"
    },
    {
      "type": "modify",
      "old_id": "63f17219928c52c0ac6ccfea017ba687048f1147",
      "old_mode": 33188,
      "old_path": "quic/core/qpack/qpack_decoder_stream_sender.cc",
      "new_id": "7f3f346ca5daabac5462b323fa232f1bdb0f9292",
      "new_mode": 33188,
      "new_path": "quic/core/qpack/qpack_decoder_stream_sender.cc"
    },
    {
      "type": "modify",
      "old_id": "5f17744f2070125c39ea6b16c34b797830f5c3de",
      "old_mode": 33188,
      "old_path": "quic/core/qpack/qpack_decoder_stream_sender.h",
      "new_id": "6bf466f92763dd2163fbd67536aaf9f142094f17",
      "new_mode": 33188,
      "new_path": "quic/core/qpack/qpack_decoder_stream_sender.h"
    },
    {
      "type": "modify",
      "old_id": "49483f7f37d5447a13f118e6f39ab236f6cb63cf",
      "old_mode": 33188,
      "old_path": "quic/core/qpack/qpack_decoder_stream_sender_test.cc",
      "new_id": "ccb42a3c25d996745809c678aec03b7855920f1a",
      "new_mode": 33188,
      "new_path": "quic/core/qpack/qpack_decoder_stream_sender_test.cc"
    },
    {
      "type": "modify",
      "old_id": "4b574564f27226093b6db96ef15119a57a70a3f9",
      "old_mode": 33188,
      "old_path": "quic/core/qpack/qpack_decoder_test.cc",
      "new_id": "9fe3d8cf344a14a0f2c49eda98a2e961237f983e",
      "new_mode": 33188,
      "new_path": "quic/core/qpack/qpack_decoder_test.cc"
    },
    {
      "type": "modify",
      "old_id": "ce990b5249facf2c6bbef6b71dfa44308130878f",
      "old_mode": 33188,
      "old_path": "quic/core/qpack/qpack_decoder_test_utils.cc",
      "new_id": "eaf66648cb04aa014d9ee92691d0b17f595b5324",
      "new_mode": 33188,
      "new_path": "quic/core/qpack/qpack_decoder_test_utils.cc"
    },
    {
      "type": "modify",
      "old_id": "1daa5727d1353427e0f84cb8dd338a5daef06b86",
      "old_mode": 33188,
      "old_path": "quic/core/qpack/qpack_encoder.cc",
      "new_id": "cce36ee158a575831d9bb61fe2abf2cc37d1b871",
      "new_mode": 33188,
      "new_path": "quic/core/qpack/qpack_encoder.cc"
    },
    {
      "type": "modify",
      "old_id": "e0bd8d4fae078fe07caba49aea2c9e7b134f9271",
      "old_mode": 33188,
      "old_path": "quic/core/qpack/qpack_encoder.h",
      "new_id": "d64af56edeb0f80b44a75f1907a8c537147bf110",
      "new_mode": 33188,
      "new_path": "quic/core/qpack/qpack_encoder.h"
    },
    {
      "type": "modify",
      "old_id": "dce183ae17be20301f1c016581e1c2641d646f7f",
      "old_mode": 33188,
      "old_path": "quic/core/qpack/qpack_encoder_stream_sender.cc",
      "new_id": "e6209fd2c5cbc4b2fed6713eabd96e3a3a6a0df4",
      "new_mode": 33188,
      "new_path": "quic/core/qpack/qpack_encoder_stream_sender.cc"
    },
    {
      "type": "modify",
      "old_id": "bf3a79fc0a10615a3043136f378ddcc4384f7c1a",
      "old_mode": 33188,
      "old_path": "quic/core/qpack/qpack_encoder_stream_sender.h",
      "new_id": "3c410d570b0282247a1965472c6e4a684e7da74a",
      "new_mode": 33188,
      "new_path": "quic/core/qpack/qpack_encoder_stream_sender.h"
    },
    {
      "type": "modify",
      "old_id": "01f1cbf4992482bc9745319c2e41d45613da1a8c",
      "old_mode": 33188,
      "old_path": "quic/core/qpack/qpack_encoder_stream_sender_test.cc",
      "new_id": "4a15d1f2ca148ee0bb3ce0cf8a4a4c121009fc6b",
      "new_mode": 33188,
      "new_path": "quic/core/qpack/qpack_encoder_stream_sender_test.cc"
    },
    {
      "type": "modify",
      "old_id": "544b6701f64124050c52700c6097e62eba7cd04b",
      "old_mode": 33188,
      "old_path": "quic/core/qpack/qpack_encoder_test.cc",
      "new_id": "90caf440b0c070651ae7b23655f8f99c362138bb",
      "new_mode": 33188,
      "new_path": "quic/core/qpack/qpack_encoder_test.cc"
    },
    {
      "type": "modify",
      "old_id": "6ad6003af6b7997a27866d27e754d04afc9430e4",
      "old_mode": 33188,
      "old_path": "quic/core/qpack/qpack_round_trip_test.cc",
      "new_id": "48249b0e1d171c83dc9a07537659e1addb12863d",
      "new_mode": 33188,
      "new_path": "quic/core/qpack/qpack_round_trip_test.cc"
    }
  ]
}
