)]}'
{
  "commit": "306b53faffacc0f0f93fdf0279a00196a529a13c",
  "tree": "27daed74c731ee90ddccb09294266c372fd32359",
  "parents": [
    "35e749e45bf9b713fc38cad773f1924fe227fb23"
  ],
  "author": {
    "name": "QUICHE team",
    "email": "quiche-dev@google.com",
    "time": "Tue Apr 09 10:33:01 2019 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Tue Apr 09 10:34:20 2019 -0700"
  },
  "message": "Create a QuicAlarm-based source for random test data for Quartc.\n\nThis is the first element required to reimplement quic_quality_test.  By basing\nit on the QuicAlarm, we can use it in either a controlled environment (such as\nthe one provided by quic::simulator::Simulator) or with a real thread (eg. by\nusing QuartcAlarmFactory).  Use in a controlled environment will make it easier\nto write tests that reproduce specific corner cases in congestion control.\n\nA quality test will likely use two of these in each direction, configured to\nsimulate an audio source and a video source.  Note that audio and video\neach have different bitrate constraints (min/max) and frame intervals.\n\nThe QuartcDataSource generates a frame of random data every frame_interval.  The\nframe\u0027s size depends on a bitrate allocation, which can be updated dynamically.\nThe bitrate can be configured with a min and max (to emulate streams of\ndifferent sizes, such as audio/video).\n\nEach frame includes a 20-byte header which includes:\n - A source id (to distinguish between sources when multiple are in use)\n - A sequence number (incremented for every frame, useful for telling the\n   difference between \u0027source was disabled\u0027 and \u0027frames were lost\u0027)\n - A send timestamp (when the data was generated, to compute end-to-end delay)\n\nThe remainder of each frame is randomly-generated payload data.\n\nThe utility also comes with a struct and parse function which may be used to\ndeserialize its output.  This is useful for its own unit test, but is included\nin the library so that other tests may use it to read data from the header.\n\ngfe-relnote: n/a (Quartc/test only)\nPiperOrigin-RevId: 242693623\nChange-Id: Ia496667bedcb518232c92c4b73c41813cd20b9cb\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8f81ccb4d7deeedaa5ff7ce901193dae16c7f43f",
      "new_mode": 33188,
      "new_path": "quic/quartc/test/quartc_data_source.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0e851d319c655b81ffd57b0a59bcc9d9310d004f",
      "new_mode": 33188,
      "new_path": "quic/quartc/test/quartc_data_source.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d9a1cfe42ed5dd7b7d3a5c223a998a44e4ba59a1",
      "new_mode": 33188,
      "new_path": "quic/quartc/test/quartc_data_source_test.cc"
    }
  ]
}
