)]}'
{
  "commit": "57123b261e944180d4ebf968c2d6dffb5d29a12c",
  "tree": "f585031f03921878af61b03b8c0b0d581694e6c5",
  "parents": [
    "0ae1fba735132fbfea99bd6f79daa643e85eb11b"
  ],
  "author": {
    "name": "Alex Vakulenko",
    "email": "avakulenko@chromium.org",
    "time": "Tue Oct 28 13:50:16 2014 -0700"
  },
  "committer": {
    "name": "chrome-internal-fetch",
    "email": "chrome-internal-fetch@google.com",
    "time": "Wed Oct 29 05:08:21 2014 +0000"
  },
  "message": "buffet: Add state change queue\n\nWhen device state properties are updated, compile the change\nnotifications in StateChangeQueue object so they can be pulled\nby Cloud Server adaptor and batch-update the device state on\nthe server.\n\nWhen StateManager receives property updates, it notifies the\nStateChangeQueue object of the changes via StateChangeQueueInterface.\nThe changes are kept in the queue along with the their time stamps\nuntil they are pulled by Cloud Server adaper (using StateChangeQueue\nmethod). At this point, the adapter would notify the server of\nrecorded device state changes and the StateChangeQueue is cleared,\nready to record new state updates.\n\nBUG\u003dchromium:415364\nTEST\u003dFEATURES\u003dtest emerge-link buffet\n\nChange-Id: Ie99e2ada39aaf0164e08699d65153abfc5235a2f\nReviewed-on: https://chromium-review.googlesource.com/226014\nTested-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nReviewed-by: Christopher Wiley \u003cwiley@chromium.org\u003e\nCommit-Queue: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "182c2fc7ac603ca858ca54f224285d86f6886029",
      "old_mode": 33188,
      "old_path": "buffet/buffet.gyp",
      "new_id": "65cb8b8988faaf3d4e9238580c29e817721ef3bd",
      "new_mode": 33188,
      "new_path": "buffet/buffet.gyp"
    },
    {
      "type": "modify",
      "old_id": "097039ae8d2140f1807f1086ddce694eea179c70",
      "old_mode": 33188,
      "old_path": "buffet/device_registration_info_unittest.cc",
      "new_id": "f3330786542cc32f2802e3bc493fb6c0f88cdbce",
      "new_mode": 33188,
      "new_path": "buffet/device_registration_info_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "4648c83b20abf2db67371df7ff91ca1f75201f52",
      "old_mode": 33188,
      "old_path": "buffet/manager.cc",
      "new_id": "d82faf62f3900d81cd1b8da28c9cd294d33e1cca",
      "new_mode": 33188,
      "new_path": "buffet/manager.cc"
    },
    {
      "type": "modify",
      "old_id": "4fcf44505ae935bdd2a3f077dada83d3d40d75d4",
      "old_mode": 33188,
      "old_path": "buffet/manager.h",
      "new_id": "7ce33cc23304b3fd160f1d1a21abc848166ac484",
      "new_mode": 33188,
      "new_path": "buffet/manager.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "eca372069972b043b6d75bd1db0b5c7d9576ef72",
      "new_mode": 33188,
      "new_path": "buffet/states/mock_state_change_queue_interface.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a288c0f181811e31a1143a7cbd40d6526ff11f51",
      "new_mode": 33188,
      "new_path": "buffet/states/state_change_queue.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a5cde9571c8a52769d62a90d77c4b6034902883b",
      "new_mode": 33188,
      "new_path": "buffet/states/state_change_queue.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5810bff77264a99f7d285a80bb907867d1bfc553",
      "new_mode": 33188,
      "new_path": "buffet/states/state_change_queue_interface.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8205f77f1f4a1bc43878a549fa1a61d0d33ebbdb",
      "new_mode": 33188,
      "new_path": "buffet/states/state_change_queue_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "1171ea0433c539600a6db29e400e286d4658c8dd",
      "old_mode": 33188,
      "old_path": "buffet/states/state_manager.cc",
      "new_id": "f31801f703858e2cb37f0067a99abd80455b0889",
      "new_mode": 33188,
      "new_path": "buffet/states/state_manager.cc"
    },
    {
      "type": "modify",
      "old_id": "2555ab500b39c9b1ad8c28af7524ee8c5dc63f15",
      "old_mode": 33188,
      "old_path": "buffet/states/state_manager.h",
      "new_id": "f17e8a630212b2f36a64d6fa5dd3ddfc2e758a2d",
      "new_mode": 33188,
      "new_path": "buffet/states/state_manager.h"
    },
    {
      "type": "modify",
      "old_id": "1ce130def8d65d6d4fcd95b31a135bc6389254fb",
      "old_mode": 33188,
      "old_path": "buffet/states/state_manager_unittest.cc",
      "new_id": "b4c3094e94b355fc614a5c5de031d4d211f81a2c",
      "new_mode": 33188,
      "new_path": "buffet/states/state_manager_unittest.cc"
    }
  ]
}
