)]}' { "commit": "9da352ddeddb29d1ee99057340c44065976a29d9", "tree": "b69515e60657d662d41664f6c3449899a23a0d4b", "parents": [ "9f951c1b7915de02c2136163ecdace197986ee42" ], "author": { "name": "Markus Thömmes", "email": "markusthoemmes@me.com", "time": "Thu May 04 21:33:25 2017 +0200" }, "committer": { "name": "rodric rabbah", "email": "rodric@gmail.com", "time": "Thu May 04 15:33:25 2017 -0400" }, "message": "Implement a proxy for a container to implement concurrent behavior (#2107)\n\nA proxy that wraps a Container. It is used to keep track of the lifecycle\r\nof a container and to guarantee a contract between the client of the container\r\nand the container itself.\r\n\r\nThe contract is as follows:\r\n1. Only one job is to be sent to the ContainerProxy at one time. ContainerProxy\r\n will delay all further jobs until the first job is finished for defensiveness\r\n reasons.\r\n2. The next job can be sent to the ContainerProxy after it indicated capacity by\r\n sending NeedWork to its parent.\r\n3. A Remove message can be sent at any point in time. Like multiple jobs though,\r\n it will be delayed until the currently running job has finished.", "tree_diff": [ { "type": "modify", "old_id": "c58717a42c15ee60fb6219a4ee641191da3e379d", "old_mode": 33188, "old_path": "tests/build.gradle", "new_id": "718d77f8bb857ec210685b1ef83be7894cc627be", "new_mode": 33188, "new_path": "tests/build.gradle" } ] }