issues: 341898141
This data as json
id | node_id | number | title | user | state | locked | assignee | milestone | comments | created_at | updated_at | closed_at | author_association | active_lock_reason | draft | pull_request | body | reactions | performed_via_github_app | state_reason | repo | type |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
341898141 | MDU6SXNzdWUzNDE4OTgxNDE= | 877 | Transition from ActionChains for client ActionHandlers to a UseManager | 10608427 | closed | 0 | 1 | 2018-07-17T12:29:45Z | 2018-08-06T08:26:08Z | 2018-08-06T08:26:08Z | MEMBER | ### Bug Report or Feature Request (mark with an `x`) ``` - [ ] bug report -> please search issues before submitting - [X ] feature request ``` During the multi-threading development of ACE, ddevec did some great work with ActionChains. They've taken us pretty far, but as we learn more, it appears they may not be the best fit for what we're trying to accomplish. A few of the negatives we've faced with action chains are: - Difficult to understand what's going on behind the scenes - Difficult system to explain - Even after months of using them, we still have questions - Hard for new developers to use - No easy mechanism for cancelling previous actions gracefully With the release of the GDL source code, we can see a different take on solving this problem by Pea. His solution was UseManager.cpp: https://github.com/GamesDeadLol/GDL/blob/510faa71f5da8c45c89a1def3c49b2de2fc85801/UseManager.cpp This seems to be a better fit for managing client actions. This also provides a more graceful way for cancelling previous client actions (this is a pretty big requirement). | {"url": "https://api.github.com/repos/ACEmulator/ACE/issues/877/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | completed | 79078680 | issue |