)]}'
{
  "commit": "9eeb17baab1e3d486be9ac4b9a82d798cc0e1441",
  "tree": "6345fdc126a7436444d6be910a989d02b5131462",
  "parents": [
    "b2ab503e6b42963f15fb4490608a44cb807e2eb1"
  ],
  "author": {
    "name": "bnc",
    "email": "bnc@google.com",
    "time": "Thu Mar 03 09:06:35 2022 -0800"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Thu Mar 03 09:07:27 2022 -0800"
  },
  "message": "Simplify QuicStreamSendBuffer::SaveStreamData().\n\nThis is a reland of cr/432178898 with the only difference at\nquic_stream_send_buffer.cc:68.  The reason for revert at cr/432192634 was:\n\n  quic_stream_send_buffer.cc:68:24: error: no matching function for call to \u0027min\u0027\n      size_t slice_len \u003d std::min(data.length(), max_data_slice_size);\n                         ^~~~~~~~\n\nI was able to reproduce this error locally, and verify that adding an explicit template\nparameter to std::min solves it, by the following command:\n\n  blaze --blazerc\u003d/dev/null test --config\u003dandroid_x86 --compilation_mode\u003dopt \\\n    --android_sdk\u003d//third_party/java/android/android_sdk_linux/platforms/stable:android_sdk_tools \\\n    --incompatible_enable_android_toolchain_resolution\u003d1 \\\n    --//third_party/android/ndk:min_sdk_version\u003d28 \\\n    --incompatible_enable_cc_toolchain_resolution\u003d1 \\\n    --android_grte_top\u003d//third_party/android/ndk/platforms/android-28:everything \\\n    --define\u003d\u0027PORTABLE_PROTO_TRANSITION_MODE\u003dgoogle3\u0027 \\\n    --grte_top\u003d//third_party/android/ndk/platforms/android-28:everything \\\n    //vr/c9/client/ar:c9_ar_app_test_x86\n\nSaveStreamData()is called at two places in production:\nQuicCryptoStream::WriteCryptoData() and QuicStream::WriteOrBufferDataAtLevel(),\nboth times with an iovec created locally from an absl::string_view.  In order to\nreduce complexity, this CL changes SaveStreamData() to take an absl::string_view\ndirectly instead of an iovec.\nPiperOrigin-RevId: 432207712\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "311cf1f0d6af338011204cb524a4c24343e7cb29",
      "old_mode": 33188,
      "old_path": "quic/core/http/quic_spdy_session_test.cc",
      "new_id": "a6298270ed10310b4a9ad38d432a0d776ed5fcd9",
      "new_mode": 33188,
      "new_path": "quic/core/http/quic_spdy_session_test.cc"
    },
    {
      "type": "modify",
      "old_id": "fc4df2354eee88758d4825dc3a43b6d0c7c29602",
      "old_mode": 33188,
      "old_path": "quic/core/quic_connection_test.cc",
      "new_id": "84f0bce1b872b5284ff2c5513cde236f57dda11b",
      "new_mode": 33188,
      "new_path": "quic/core/quic_connection_test.cc"
    },
    {
      "type": "modify",
      "old_id": "b579ff527b80eaf2d2892a198d65f8165355ef44",
      "old_mode": 33188,
      "old_path": "quic/core/quic_crypto_stream.cc",
      "new_id": "5690743a430084b2db0d5100c97483eb03b92033",
      "new_mode": 33188,
      "new_path": "quic/core/quic_crypto_stream.cc"
    },
    {
      "type": "modify",
      "old_id": "3b56f8227e0498b02b9add9b2c67e015467a3a01",
      "old_mode": 33188,
      "old_path": "quic/core/quic_packet_creator_test.cc",
      "new_id": "f038e33deebb5fcbe2010e7f5366b146dfa02f7c",
      "new_mode": 33188,
      "new_path": "quic/core/quic_packet_creator_test.cc"
    },
    {
      "type": "modify",
      "old_id": "68ae9f9b20efa00bc03e49f01075c5cbad2f6f91",
      "old_mode": 33188,
      "old_path": "quic/core/quic_session_test.cc",
      "new_id": "4d5eed531c00fe7d72701cbee552bffc0038e8f1",
      "new_mode": 33188,
      "new_path": "quic/core/quic_session_test.cc"
    },
    {
      "type": "modify",
      "old_id": "f8e00b40f025f570d03336c212090af3f139f421",
      "old_mode": 33188,
      "old_path": "quic/core/quic_stream.cc",
      "new_id": "8737044d4f994f779dbe4864be1d0ca217330192",
      "new_mode": 33188,
      "new_path": "quic/core/quic_stream.cc"
    },
    {
      "type": "modify",
      "old_id": "aa58ead4693dd365afe494c8e764e6ba5d7941b6",
      "old_mode": 33188,
      "old_path": "quic/core/quic_stream_send_buffer.cc",
      "new_id": "f901486cab9a542ce1609f6ac9115faed8bf90ac",
      "new_mode": 33188,
      "new_path": "quic/core/quic_stream_send_buffer.cc"
    },
    {
      "type": "modify",
      "old_id": "6fe7b756154a4372f555e09789a474181b9c5cd5",
      "old_mode": 33188,
      "old_path": "quic/core/quic_stream_send_buffer.h",
      "new_id": "cf3fa13441050bb858f7e804d4a8bdeac25b5f3c",
      "new_mode": 33188,
      "new_path": "quic/core/quic_stream_send_buffer.h"
    },
    {
      "type": "modify",
      "old_id": "2e0f9dce5cffc9c5f83d7cca1b4d9f439c866223",
      "old_mode": 33188,
      "old_path": "quic/core/quic_stream_send_buffer_test.cc",
      "new_id": "599ebf43c10b1ceb31f5a8864dde05ad62fb8d74",
      "new_mode": 33188,
      "new_path": "quic/core/quic_stream_send_buffer_test.cc"
    },
    {
      "type": "modify",
      "old_id": "caffd7f7968eb1d9d613b2b3fbac5e33b37104c3",
      "old_mode": 33188,
      "old_path": "quic/core/quic_utils.cc",
      "new_id": "aa8f59e40ef5bc75b7bacfed00eac7205ec62066",
      "new_mode": 33188,
      "new_path": "quic/core/quic_utils.cc"
    },
    {
      "type": "modify",
      "old_id": "43e64700ae045718d67e86955af607df587f486a",
      "old_mode": 33188,
      "old_path": "quic/core/quic_utils.h",
      "new_id": "085f532dcd3062fc03779d2778032aeef14dfc74",
      "new_mode": 33188,
      "new_path": "quic/core/quic_utils.h"
    },
    {
      "type": "modify",
      "old_id": "aaab1d1800af01faf1c92310bd3debb7537cc878",
      "old_mode": 33188,
      "old_path": "quic/test_tools/simple_data_producer.cc",
      "new_id": "64c0a2c1a5b9724a7da1799b29628d4801f08e17",
      "new_mode": 33188,
      "new_path": "quic/test_tools/simple_data_producer.cc"
    },
    {
      "type": "modify",
      "old_id": "e8dd4e410d3fdc3bf5bfb71dc23d4dd86b688181",
      "old_mode": 33188,
      "old_path": "quic/test_tools/simple_data_producer.h",
      "new_id": "9564f86f2ee6a0e19fefe8c2e2fdfe98ff29a818",
      "new_mode": 33188,
      "new_path": "quic/test_tools/simple_data_producer.h"
    }
  ]
}
