)]}'
{
  "commit": "ea197352de19b2b6e9a6a3153d40372202f1111f",
  "tree": "668ca8baae21c5bfc2aece0f50868913d17fe07e",
  "parents": [
    "1e21575c0e11d43319d56e529eedb4cce20161ba"
  ],
  "author": {
    "name": "QUICHE team",
    "email": "quiche-dev@google.com",
    "time": "Tue Jul 16 16:54:52 2019 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Tue Jul 16 20:32:31 2019 -0700"
  },
  "message": "Don\u0027t split sent messages on MemSlice boundaries.\n\nNOTE: Merging this change to chromium will require updating the implementation\nof QuicMemSliceStorage.  The required changes are fairly trivial.\n\nInstead of enqueueing a QueuedMessage with a single MemSlice for each slice in\nthe span representing an outgoing message, QuartcSession should enqueue a single\nmessage containing all MemSlices that are part of that message, so that they are\nall sent together, as part of a single datagram frame.\n\nThis requires a way to build a QuicMemSliceSpan from multiple QuicMemSlices,\nsince QuartcSession must construct a QuicMemSliceSpan from its queued message to\npass the message to SendMessage.\n\nQuicMemSliceStorage can do this, but currently requires copies to get MemSlices\ninto the MemSliceStorage.  This change adds an Append() function to\nQuicMemSliceStorage, which allows callers to move MemSlices into storage without\ncopies.\n\nQuartcSession now consumes all the MemSlices for a single message into a single\nQuicMemSliceStorage.  When the message is sent, that storage is converted to a\nspan and passed to QuicSession::SendMessage as a single unit.\n\ngfe-relnote: n/a (Quartc only)\nPiperOrigin-RevId: 258468175\nChange-Id: I4bab1e8da1db77a5ba1068cc8fe6303032ad81c7\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "dc48a43d1771b6c77197f4ac0a4da06656818289",
      "old_mode": 33188,
      "old_path": "quic/platform/api/quic_mem_slice_storage.h",
      "new_id": "9164e9af74b16c7b56395f82e9bd39cac2d9b7d1",
      "new_mode": 33188,
      "new_path": "quic/platform/api/quic_mem_slice_storage.h"
    },
    {
      "type": "modify",
      "old_id": "d0c25885e9f755b3dcd9d2e798b33f3c59e996fc",
      "old_mode": 33188,
      "old_path": "quic/platform/api/quic_mem_slice_storage_test.cc",
      "new_id": "a13899d443e9648d1e5e6ebb810caa91d6ab22a7",
      "new_mode": 33188,
      "new_path": "quic/platform/api/quic_mem_slice_storage_test.cc"
    },
    {
      "type": "modify",
      "old_id": "d23662f32d5dc9ca1bfd35b9aaaf1ef48e16d2b2",
      "old_mode": 33188,
      "old_path": "quic/quartc/quartc_session.cc",
      "new_id": "8a918caac560fe7c96d1a3f313639758039e7f99",
      "new_mode": 33188,
      "new_path": "quic/quartc/quartc_session.cc"
    },
    {
      "type": "modify",
      "old_id": "6828f697a6070b7cdcfac1e564f5ef0154256596",
      "old_mode": 33188,
      "old_path": "quic/quartc/quartc_session.h",
      "new_id": "638333e7389b7bba3c3c0675a6b0bb16d2cfd154",
      "new_mode": 33188,
      "new_path": "quic/quartc/quartc_session.h"
    },
    {
      "type": "modify",
      "old_id": "8bb9ad1ad2040b9cae4451ec2d5c55a4d1ddd4d2",
      "old_mode": 33188,
      "old_path": "quic/quartc/quartc_session_test.cc",
      "new_id": "3b55314fcd7f41b3fd4457e8ea9da76d5418082d",
      "new_mode": 33188,
      "new_path": "quic/quartc/quartc_session_test.cc"
    }
  ]
}
