)]}'
{
  "commit": "6939de55e61c54416cd5b1e6a3a6b13ebfa1311b",
  "tree": "f4df908d970924652f122bf777a15486bedad31c",
  "parents": [
    "8777a794cd2b7bfd149883a2dcd551cd1d71a5e2"
  ],
  "author": {
    "name": "QUICHE team",
    "email": "quiche-dev@google.com",
    "time": "Wed May 15 12:05:21 2019 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Wed May 15 18:01:26 2019 -0700"
  },
  "message": "Change QuartcClientEndpoint to handle client-side version negotiation.\n\nThis allows Quartc to stop forcing the \"no connection version negotiation\" flags\nto false, as QuartcEndpoint can now handle version negotiation properly in\neither case.  (QuartcServerEndpoint already handles server-side version\nnegotiation through the QuartcDispatcher.)  In-connection version negotiation is\nnot fully reliable anyway, as some features of new QUIC versions cannot be\nenabled or disabled in-place within a QuicConnection object (for example,\nchanges to how stream ids are allocated).\n\nThis only requires three changes:\n - QuartcEndpoint::Delegate extends QuartcSession::Delegate\n - QuartcClientEndpoint sits between the session and the final delegate\n - When QuartcClientEndpoint sees a QUIC_INVALID_VERSION error, it picks another\n   version and tries again\n\nThis change is mostly cleanup to combine Endpoint and Session delegates and add\nrequired overrides to existing delegates.\n\nThe only other minor change required is that QuartcMediaTransport must now\naccept more than one call to OnSessionCreated().  All we have to do is remove\nthe DCHECK to allow this--nothing else assumes it will only happen once.\n\ngfe-relnote: n/a (Quartc only)\nPiperOrigin-RevId: 248378366\nChange-Id: I442bd69e45f5d65e43d3e99118159f11dc595169\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fe87ca1c3f46374310ea88b8d34b70e760c1ccf5",
      "old_mode": 33188,
      "old_path": "quic/quartc/quartc_endpoint.cc",
      "new_id": "7676c591062abb0f91838050f2c90ca4a129af4c",
      "new_mode": 33188,
      "new_path": "quic/quartc/quartc_endpoint.cc"
    },
    {
      "type": "modify",
      "old_id": "11694039a38afadad881a34c48c54e50c8064db3",
      "old_mode": 33188,
      "old_path": "quic/quartc/quartc_endpoint.h",
      "new_id": "6c7644c95192fa157fc5a82117c09b28531e5d9f",
      "new_mode": 33188,
      "new_path": "quic/quartc/quartc_endpoint.h"
    },
    {
      "type": "modify",
      "old_id": "567ccdd99f8e03c8960d07ab0a6e83d3668c9bae",
      "old_mode": 33188,
      "old_path": "quic/quartc/quartc_endpoint_test.cc",
      "new_id": "5f8c25d64167daf3f6c01720446400a85590393c",
      "new_mode": 33188,
      "new_path": "quic/quartc/quartc_endpoint_test.cc"
    },
    {
      "type": "modify",
      "old_id": "5b83a460594bd77e32e31f7d32ee93d5ba30f190",
      "old_mode": 33188,
      "old_path": "quic/quartc/quartc_factory.cc",
      "new_id": "06871a2fe9744d5658f5ebed608b2a8d043c2316",
      "new_mode": 33188,
      "new_path": "quic/quartc/quartc_factory.cc"
    },
    {
      "type": "modify",
      "old_id": "7048a5eb8264a3ebd5527d0496757177ac33db0b",
      "old_mode": 33188,
      "old_path": "quic/quartc/quartc_fakes.h",
      "new_id": "13b65b1b532723996f60aa08696b0f68b7f1602e",
      "new_mode": 33188,
      "new_path": "quic/quartc/quartc_fakes.h"
    },
    {
      "type": "modify",
      "old_id": "e150e031a220dbbd18bb44da2df7498b57fdccf3",
      "old_mode": 33188,
      "old_path": "quic/quartc/quartc_session_test.cc",
      "new_id": "87174dcc4a6ed80fc500df4398cb888bf4eda457",
      "new_mode": 33188,
      "new_path": "quic/quartc/quartc_session_test.cc"
    },
    {
      "type": "modify",
      "old_id": "685785881251bdd57b37cf0ab1457838e4580cd5",
      "old_mode": 33188,
      "old_path": "quic/quartc/test/quartc_peer.cc",
      "new_id": "761349eecb57802bfb0bf19a93967f397530deb4",
      "new_mode": 33188,
      "new_path": "quic/quartc/test/quartc_peer.cc"
    },
    {
      "type": "modify",
      "old_id": "65d85fa61fd2abcef07f5f23829cd30be8bab941",
      "old_mode": 33188,
      "old_path": "quic/quartc/test/quartc_peer.h",
      "new_id": "b96f488d6f4524ebd624892447446160d8991d11",
      "new_mode": 33188,
      "new_path": "quic/quartc/test/quartc_peer.h"
    },
    {
      "type": "modify",
      "old_id": "c2fa6eccc932c82c9862f0ae336532b07ce83e89",
      "old_mode": 33188,
      "old_path": "quic/quartc/test/quic_trace_interceptor.cc",
      "new_id": "741c54265b059d3c7e43a25870f34ea393913666",
      "new_mode": 33188,
      "new_path": "quic/quartc/test/quic_trace_interceptor.cc"
    },
    {
      "type": "modify",
      "old_id": "bb731b1564e4e91576b59c2a41f860323328278c",
      "old_mode": 33188,
      "old_path": "quic/quartc/test/quic_trace_interceptor.h",
      "new_id": "ee79d1edd95c6b7e4787acd04cd8d304b045a2dd",
      "new_mode": 33188,
      "new_path": "quic/quartc/test/quic_trace_interceptor.h"
    }
  ]
}
