)]}'
{
  "commit": "4581908bee97ea8a068fae818209ae3b0783fd64",
  "tree": "305980b84af8e391340fd995923be1f5b51c57bc",
  "parents": [
    "b2b8ff25f5a565324b93411ca29c3403ccbca969"
  ],
  "author": {
    "name": "vasilvv",
    "email": "vasilvv@google.com",
    "time": "Wed Jul 08 08:48:25 2020 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Wed Jul 08 08:48:51 2020 -0700"
  },
  "message": "Make QuicFrame a standard-layout struct.\n\nC++ provides certain guarantees about the way union fields interact, which are only valid for standard-layout types.  Standard-layout types are not allowed to have data members in both base and derived types; this fixes that by moving QuicInlinedFrame::type into individual frames.\n\nAlso, before C++17, using offsetof() on non-standard-layout types is undefined behavor.\n\nThanks to Stephan Hartmann \u003cstha09@googlemail.com\u003e for pointing this problem out in \u003chttps://quiche-review.googlesource.com/c/quiche/+/10600\u003e.\n\nPiperOrigin-RevId: 320195673\nChange-Id: I179634af3e3a199b7b7320a031b42898a5644824\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a8aabfc4ca56e1bb150c31bf2c33e8988f7fc230",
      "old_mode": 33188,
      "old_path": "quic/core/frames/quic_frame.h",
      "new_id": "b5785b8bc7f41563b79c92163e2a793a6923a341",
      "new_mode": 33188,
      "new_path": "quic/core/frames/quic_frame.h"
    },
    {
      "type": "modify",
      "old_id": "c16c169f6a55e0ad018719880ca7009c698ab759",
      "old_mode": 33188,
      "old_path": "quic/core/frames/quic_handshake_done_frame.h",
      "new_id": "1dd3fa03a6287a55b98a3388eb4821c0163c49dd",
      "new_mode": 33188,
      "new_path": "quic/core/frames/quic_handshake_done_frame.h"
    },
    {
      "type": "modify",
      "old_id": "08c4869ab7e94e9f126687263b113c9d68eebd37",
      "old_mode": 33188,
      "old_path": "quic/core/frames/quic_inlined_frame.h",
      "new_id": "cfa32dc0ecd175b68a66b163b0fcc748e8017384",
      "new_mode": 33188,
      "new_path": "quic/core/frames/quic_inlined_frame.h"
    },
    {
      "type": "modify",
      "old_id": "e1595c046b07ab8fe9672d676ea7f3dc601cb2a2",
      "old_mode": 33188,
      "old_path": "quic/core/frames/quic_max_streams_frame.h",
      "new_id": "902dbc2c971f72948fa6e99dff6b845a2fdf48c2",
      "new_mode": 33188,
      "new_path": "quic/core/frames/quic_max_streams_frame.h"
    },
    {
      "type": "modify",
      "old_id": "330df2123e2a8f7b8baa8904a472b154c5de1a8f",
      "old_mode": 33188,
      "old_path": "quic/core/frames/quic_mtu_discovery_frame.h",
      "new_id": "52e980d34382f4a2637f4a168c18c675fbc11ca0",
      "new_mode": 33188,
      "new_path": "quic/core/frames/quic_mtu_discovery_frame.h"
    },
    {
      "type": "modify",
      "old_id": "0918f0f2463b13ef96a8349565a547f88f6979c7",
      "old_mode": 33188,
      "old_path": "quic/core/frames/quic_padding_frame.h",
      "new_id": "09ddb89dd2ef7e3626081d1d18da53cfd06bb300",
      "new_mode": 33188,
      "new_path": "quic/core/frames/quic_padding_frame.h"
    },
    {
      "type": "modify",
      "old_id": "5cefdf9c8056d2eb73b3be430c0ae8182aeb8674",
      "old_mode": 33188,
      "old_path": "quic/core/frames/quic_ping_frame.h",
      "new_id": "04f5afb919558a2555c9c3629099775925d32825",
      "new_mode": 33188,
      "new_path": "quic/core/frames/quic_ping_frame.h"
    },
    {
      "type": "modify",
      "old_id": "84bfc2a706e44c563879687b5e4808e4ee3f8665",
      "old_mode": 33188,
      "old_path": "quic/core/frames/quic_stop_waiting_frame.h",
      "new_id": "b05d2e12eab1e93aca1db18a7f6e9b7953ba6970",
      "new_mode": 33188,
      "new_path": "quic/core/frames/quic_stop_waiting_frame.h"
    },
    {
      "type": "modify",
      "old_id": "f807ee1e4c9243b3edb12bcfd35eab65c631258e",
      "old_mode": 33188,
      "old_path": "quic/core/frames/quic_stream_frame.h",
      "new_id": "10ad7db1025d7401f2b144d38d389329593ef7e2",
      "new_mode": 33188,
      "new_path": "quic/core/frames/quic_stream_frame.h"
    },
    {
      "type": "modify",
      "old_id": "91c7ac91a84154d255d8de59e405163546e30911",
      "old_mode": 33188,
      "old_path": "quic/core/frames/quic_streams_blocked_frame.h",
      "new_id": "2df9636bc323d68006210fbff58c082ae0eb8123",
      "new_mode": 33188,
      "new_path": "quic/core/frames/quic_streams_blocked_frame.h"
    }
  ]
}
