)]}'
{
  "commit": "e5f9c032daddb9ad223b50c634777513d414f12c",
  "tree": "f0a2e69edcce20788d0dd7eec6770d0fb30b0435",
  "parents": [
    "b34a7ec5c39834dc6abbfad289527d59670dce5f"
  ],
  "author": {
    "name": "bnc",
    "email": "bnc@google.com",
    "time": "Thu Jul 25 11:30:40 2019 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Thu Jul 25 18:02:50 2019 -0700"
  },
  "message": "Rewrite QuicSpdyStreamBodyBuffer\u0027s consumed byte tracking algorithm.\n\nThis is motivated by having to consume unknown frames (in a later CL), see\ncr/258682203 for the end goal.\n\nThere is some behavioral change as a side effect of the new algorithm: DATA\nframe headers are consumed immediately, not only when some of the corresponding\npayload is consumed.  This hinges on the previously undocumented property of HttpDecoder that in only calls Visitor::On*FrameStart() methods after the entire frame header is processed.  This behavioral change necessitates minor updates to tests.\n\nI plan four more CLs after this: one to move HEADERS frame header and\npayload consumption calculations from QuicSpdyStream to\nQuicSpdyStreamBodyBuffer; one to consume unknown frames; one to rename\nQuicSpdyStreamBodyBuffer to QuicSpdyStreamBodyManager or something similar;\nand one to remove Http3FrameLengths if by that point it\u0027s entirely unused.\n\ngfe-relnote: n/a, change to QUIC v99-only code.  Protected by existing disabled gfe2_reloadable_flag_quic_enable_version_99.\nPiperOrigin-RevId: 259987101\nChange-Id: Id8a734fb36466b3502373097faba2c6c81c793de\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "99c4d1007010d40682fd5edff3fe0fb19c2d3af8",
      "old_mode": 33188,
      "old_path": "quic/core/http/http_decoder.h",
      "new_id": "80ba38598c3d8b4128c8e70a5a9206ed953c7985",
      "new_mode": 33188,
      "new_path": "quic/core/http/http_decoder.h"
    },
    {
      "type": "modify",
      "old_id": "97991e8b42bc605c0b891f1733be85a96b9e0953",
      "old_mode": 33188,
      "old_path": "quic/core/http/quic_spdy_stream.cc",
      "new_id": "aee3ba520c5a1750be96e8d9f7c8a8a5cae2a886",
      "new_mode": 33188,
      "new_path": "quic/core/http/quic_spdy_stream.cc"
    },
    {
      "type": "modify",
      "old_id": "c29c766ad59a99e113557cbdd031d2807ba2ac2b",
      "old_mode": 33188,
      "old_path": "quic/core/http/quic_spdy_stream_body_buffer.cc",
      "new_id": "2ae72b5434f84b294a79ef648236377e24e7643e",
      "new_mode": 33188,
      "new_path": "quic/core/http/quic_spdy_stream_body_buffer.cc"
    },
    {
      "type": "modify",
      "old_id": "a37f3bf0b809803143e059098b9118075d6159c5",
      "old_mode": 33188,
      "old_path": "quic/core/http/quic_spdy_stream_body_buffer.h",
      "new_id": "77c17b8c75e74ec608c03a39d32190da60608c4d",
      "new_mode": 33188,
      "new_path": "quic/core/http/quic_spdy_stream_body_buffer.h"
    },
    {
      "type": "modify",
      "old_id": "d5e816119d9671deb6fb94b3f73650cdf3fbf320",
      "old_mode": 33188,
      "old_path": "quic/core/http/quic_spdy_stream_body_buffer_test.cc",
      "new_id": "7c4787da7ea2d06f754fa5b91197bf51e4fe6fa0",
      "new_mode": 33188,
      "new_path": "quic/core/http/quic_spdy_stream_body_buffer_test.cc"
    },
    {
      "type": "modify",
      "old_id": "f9777ec420f05dc74b9e77399d7bcb7b811f4e71",
      "old_mode": 33188,
      "old_path": "quic/core/http/quic_spdy_stream_test.cc",
      "new_id": "ddfb651b14d7052972785b82a8cdd725f6778e2d",
      "new_mode": 33188,
      "new_path": "quic/core/http/quic_spdy_stream_test.cc"
    }
  ]
}
