{"action":"opened","issue":{"url":"https://api.github.com/repos/pothosware/pothos/issues/97","repository_url":"https://api.github.com/repos/pothosware/pothos","labels_url":"https://api.github.com/repos/pothosware/pothos/issues/97/labels{/name}","comments_url":"https://api.github.com/repos/pothosware/pothos/issues/97/comments","events_url":"https://api.github.com/repos/pothosware/pothos/issues/97/events","html_url":"https://github.com/pothosware/pothos/issues/97","id":165453967,"number":97,"title":"Topology completion API","user":{"login":"guruofquality","id":184117,"avatar_url":"https://avatars.githubusercontent.com/u/184117?v=3","gravatar_id":"","url":"https://api.github.com/users/guruofquality","html_url":"https://github.com/guruofquality","followers_url":"https://api.github.com/users/guruofquality/followers","following_url":"https://api.github.com/users/guruofquality/following{/other_user}","gists_url":"https://api.github.com/users/guruofquality/gists{/gist_id}","starred_url":"https://api.github.com/users/guruofquality/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/guruofquality/subscriptions","organizations_url":"https://api.github.com/users/guruofquality/orgs","repos_url":"https://api.github.com/users/guruofquality/repos","events_url":"https://api.github.com/users/guruofquality/events{/privacy}","received_events_url":"https://api.github.com/users/guruofquality/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/pothosware/pothos/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-07-14T00:54:16Z","updated_at":"2016-07-14T00:54:16Z","closed_at":null,"body":"Consider an API addition that allows a single block (or blocks) within a topology to indicate that that the topology execution should be complete. The existing Topology::waitInactive() call could exit immediately when this occurs - as opposed to waiting for the max idle time.\r\n\r\nThe primary use will be for a control block in a design to exit upon some error condition, forced graceful exit, or task completion. This could also be useful for some unit tests, but waiting for idle is still probably best for most situations.\r\n\r\nPurposed API:\r\n```\r\nclass Block\r\n{\r\n//intentional completion\r\nvoid complete(void);\r\n\r\n//complete with an exception\r\nvoid complete(const std::exception_ptr &ex);\r\n}\r\n```"}}
{"actor":{"display_login":"guruofquality"}}