Draft: New Event Manager implementation
This is an attempt to modernise the event manager implementation using an operation queue and the dispatch api
Merge request reports
Activity
mentioned in issue #129 (closed)
added 6 commits
-
74084dc0...9ffd9c81 - 5 commits from branch
videolan:3.0
- 2aa6aa6d - draft
-
74084dc0...9ffd9c81 - 5 commits from branch
added 1 commit
- 733dd4d0 - Change event manager API and underlying implementation
added 81 commits
-
733dd4d0...a29669c6 - 80 commits from branch
videolan:3.0
- cd93a12a - Change event manager API and underlying implementation
-
733dd4d0...a29669c6 - 80 commits from branch
Please compare with the competing proposal in !182 (merged)
This proposal tries to replicate most of the features of the former event manager with modern Darwin apis, but I'm wondering if keeping some mechanisms are necessary.
If I'm not wrong there was an arbitrary delay set between dispatches there.
This might partially explain the experienced speed improvements with immediate events dispatch from !182 (merged).Is it critical to pace events ?
If yes, this proposal might have given the ability to control it per queue and per event dispatch block instead of using a unique pace value for all dispatches.Is it mandatory to keep events cancelling ?
This API was used in former implementation only in dealloc, but given dealloc wouldn't be called until targets had their refcount zeroed, this cancel call sounds quite useless to me.So if we don't need to pace any event dispatch nor find usefulness in the ability to cancel all events from an emitting target, then !182 (merged) should be good as it sounds like the most straightforward way to handle events to me.
My proposal isn't complete and still need to provide a mechanism to keep events order when they are dispatched on different queues. But do we need to be able to dispatch on any queue at all ? ^^
@alexandre-janniaux @ePirat May I have your input about the proposals ?
Edited by Maxime Chapeletmentioned in merge request !182 (merged)
Closed in favour to !182 (merged)