)]}'
{
  "commit": "8c7fb44cab989c3a1772d4f13be4acbd4dc22cb1",
  "tree": "79fe975b4ee19996d1c385505994ab1672a12317",
  "parents": [
    "139b7443c585e1d8053a17d3397d33d25ae2e26f"
  ],
  "author": {
    "name": "QUICHE team",
    "email": "quiche-dev@google.com",
    "time": "Tue Nov 30 18:03:39 2021 -0800"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Tue Nov 30 18:04:33 2021 -0800"
  },
  "message": "Add OgHttp2Session support for SETTINGS ack callbacks and apply to MAX_CONCURRENT_STREAMS.\n\nThis CL adds support to OgHttp2Session for applying sent SETTINGS parameters on\nreceipt of a SETTINGS ack from the peer. This support is in line with behavior\nin both nghttp2 [1] and Http2Dispatcher [2].\n\nThis CL also uses this newly added support to enforce locally sent\nMAX_CONCURRENT_STREAMS on ack. Note that Envoy behavior currently assumes that\npeer violations of MAX_CONCURRENT_STREAMS are connection-level [3, 4], so\nOgHttp2Session treats violations as a PROTOCOL_ERROR for parity with Envoy.\n\nWith this change, Http2FloodMitigationTest.TooManyStreams now passes with\noghttp2, completing flood frame mitigation integration test parity.\n\nBefore: http://sponge2/6275a2b6-178b-4ea7-b819-dbd0103564da\nAfter: http://sponge2/463d751a-22df-446f-872c-2a6015c52969\n\n[1] http://google3/third_party/nghttp2/src/lib/nghttp2_session.c;l\u003d7065-7088;rcl\u003d409864218\n[2] http://google3/gfe/gfe2/http2/http2_dispatcher.h;l\u003d1185;rcl\u003d410682472\n[3] http://google3/third_party/nghttp2/src/lib/nghttp2_session.c;l\u003d3880-3884;rcl\u003d410682472\n[4] http://google3/third_party/envoy/src/source/common/http/http2/codec_impl.cc;l\u003d1180,1192;rcl\u003d410881808\n\nPiperOrigin-RevId: 413288939\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "39b71dc17400a8ad2036d6e474649485fc70c439",
      "old_mode": 33188,
      "old_path": "http2/adapter/http2_util.cc",
      "new_id": "553c0bd6a3995e3666df74a364ce41eb53da7dca",
      "new_mode": 33188,
      "new_path": "http2/adapter/http2_util.cc"
    },
    {
      "type": "modify",
      "old_id": "08b9ba5c2609b96d020a6dfc76fa72456c3e9633",
      "old_mode": 33188,
      "old_path": "http2/adapter/http2_visitor_interface.h",
      "new_id": "6d843a362532bda1738330e62833619601ff66e4",
      "new_mode": 33188,
      "new_path": "http2/adapter/http2_visitor_interface.h"
    },
    {
      "type": "modify",
      "old_id": "d40699494a040b6dc2bbae2cb0ebbaef52a2e043",
      "old_mode": 33188,
      "old_path": "http2/adapter/nghttp2_adapter_test.cc",
      "new_id": "3f25f2bd7a185a6a752bafc2be57cb4659d0466a",
      "new_mode": 33188,
      "new_path": "http2/adapter/nghttp2_adapter_test.cc"
    },
    {
      "type": "modify",
      "old_id": "c3f43567219d5e7e7d86746a071cb6c57dc308c1",
      "old_mode": 33188,
      "old_path": "http2/adapter/oghttp2_adapter_test.cc",
      "new_id": "86d5f729130b5e55da3c771a2140c758d80c35d3",
      "new_mode": 33188,
      "new_path": "http2/adapter/oghttp2_adapter_test.cc"
    },
    {
      "type": "modify",
      "old_id": "16d302a0d557e3ee7b2b8b19a38c0c1f5f4027e1",
      "old_mode": 33188,
      "old_path": "http2/adapter/oghttp2_session.cc",
      "new_id": "fb37bdd007eac508786efff0ee5076bfb65f1f35",
      "new_mode": 33188,
      "new_path": "http2/adapter/oghttp2_session.cc"
    },
    {
      "type": "modify",
      "old_id": "3126e00f548b450fef537ae1086c9640429ba3c2",
      "old_mode": 33188,
      "old_path": "http2/adapter/oghttp2_session.h",
      "new_id": "58f34ecf8e93051e22a54d73508bccc01df9a228",
      "new_mode": 33188,
      "new_path": "http2/adapter/oghttp2_session.h"
    }
  ]
}
