)]}'
{
  "commit": "9c0dd2848bdd20440b2187ccd59b9bc054089181",
  "tree": "e522302b59a20106c3bc8d4e4bf8bea5fba48b3b",
  "parents": [
    "2475cc8246d3e77e391347ae319f0ab9db132fb4"
  ],
  "author": {
    "name": "bnc",
    "email": "bnc@google.com",
    "time": "Mon Feb 22 10:17:16 2021 -0800"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Mon Feb 22 10:18:50 2021 -0800"
  },
  "message": "Unify and refactor frame type logic in receiving control stream.\n\nAn error is signalled under exactly the same conditions, but the error code and\nmessage might change.  In particular, a MAX_PUSH_ID or ACCEPT_CH frame received\nby the wrong endpoint as the first frame resulted in a\nQUIC_HTTP_MISSING_SETTINGS_FRAME, while a DATA or HEADERS as the first frame\nresulted in a QUIC_HTTP_FRAME_UNEXPECTED_ON_CONTROL_STREAM before this CL.\nAfter this CL, any forbidden frame type (for the endpoint) results in\nQUIC_HTTP_FRAME_UNEXPECTED_ON_CONTROL_STREAM.\n\nError messages are also changed to make the code simpler.\n\nOnUnrecoverableError() (used 2 times) is exactly the same as\nstream_delegate()-\u003eOnStreamError() (used 9 times), this CL changes both\noccurrences of the former into the latter for consistency.\n\nHttpDecoder::Visitor methods for frame processing other than *Start() cannot be\ncalled for disallowed frames, this CL adds QUICHE_NOTREACHED() to document that.\n\nThe motivation is to prepare for changing the SETTINGS frame logic to accomodate\na SETTINGS frame in ALPS, see\nhttps://vasilvv.github.io/httpbis-alps/draft-vvv-httpbis-alps.html#name-use-of-alps-in-http-3.\n\nPiperOrigin-RevId: 358846826\nChange-Id: I0f361fa9899f1bd558603b804a6aad6f4f38b218\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "70e7f4acee5ffb2288e0ad8618c460ae7b5d47a3",
      "old_mode": 33188,
      "old_path": "quic/core/http/quic_receive_control_stream.cc",
      "new_id": "35d590286cb6893f8398503598a46cf795c44572",
      "new_mode": 33188,
      "new_path": "quic/core/http/quic_receive_control_stream.cc"
    },
    {
      "type": "modify",
      "old_id": "8699021c4ad092337a0eaab02938af25b4421ea3",
      "old_mode": 33188,
      "old_path": "quic/core/http/quic_receive_control_stream.h",
      "new_id": "326dba3e38a516b4e1cde95eaa82cb7d92f3bf2f",
      "new_mode": 33188,
      "new_path": "quic/core/http/quic_receive_control_stream.h"
    },
    {
      "type": "modify",
      "old_id": "fdd74b0f59cfd84b2c8cf4a9e4060ded4ac6b348",
      "old_mode": 33188,
      "old_path": "quic/core/http/quic_receive_control_stream_test.cc",
      "new_id": "3e4532f4a66d6d1801a2fd9440a988f94eb88d3b",
      "new_mode": 33188,
      "new_path": "quic/core/http/quic_receive_control_stream_test.cc"
    }
  ]
}
