react-native-macos/ReactCommon/fabric/events
Valentin Shergin 8d83d5f8eb Fabric: Unifying retain/release logic in EventTarget
Summary:
I read my code and one thing stroke me: What if the same event emitter dispatches several events during the same event beat? In the previous implementation, only the first one will be delivered because the first `release` call consumes stored strong reference.
So, I changed the API a bit to make this more explicit: we have `retain` & `release` methods and we have a getter that works (multiple times) only if the object was successfully retained.

Reviewed By: sahrens

Differential Revision: D13668147

fbshipit-source-id: c00af5f15bc7e30aa704d46bd23584b918b6f75a
2019-01-16 20:22:40 -08:00
..
tests Update copyright headers to yearless format 2018-09-11 15:33:07 -07:00
BUCK Buildify xplat build files. 2018-12-08 13:18:23 -08:00
BatchedEventQueue.cpp Update copyright headers to yearless format 2018-09-11 15:33:07 -07:00
BatchedEventQueue.h Fabric: Codemod: All `<fabric/...` includes were renamed to `<react/...` 2018-11-10 14:22:15 -08:00
EventBeat.cpp Fabric: Making jsi::Runtime a part of EventBeat and EventPipe 2018-11-06 11:03:50 -08:00
EventBeat.h Dispatch events asynchronously 2018-11-14 09:45:26 -08:00
EventBeatBasedExecutor.cpp Fabric: Explicit clearing std::vector after moving from it 2018-11-06 11:03:50 -08:00
EventBeatBasedExecutor.h Fabric: Codemod: All `<fabric/...` includes were renamed to `<react/...` 2018-11-10 14:22:15 -08:00
EventDispatcher.cpp Fabric: Enabling clang-format for the rest of Fabric 2018-10-09 16:31:48 -07:00
EventDispatcher.h Fabric: Codemod: All `<fabric/...` includes were renamed to `<react/...` 2018-11-10 14:22:15 -08:00
EventEmitter.cpp Fabric: Lock-free events 3/n: EventEmitter::DispatchMutex is not recursive mutex anymore 2019-01-16 20:22:39 -08:00
EventEmitter.h Fabric: Lock-free events 4/n: Added an assert in EventTarget 2019-01-16 20:22:39 -08:00
EventQueue.cpp Fabric: Unifying retain/release logic in EventTarget 2019-01-16 20:22:40 -08:00
EventQueue.h Fabric: Codemod: All `<fabric/...` includes were renamed to `<react/...` 2018-11-10 14:22:15 -08:00
EventTarget.cpp Fabric: Unifying retain/release logic in EventTarget 2019-01-16 20:22:40 -08:00
EventTarget.h Fabric: Unifying retain/release logic in EventTarget 2019-01-16 20:22:40 -08:00
RawEvent.cpp Fabric: Lock-free events 2/n: Reimagining of EventTarget 2019-01-16 20:22:39 -08:00
RawEvent.h Fabric: Lock-free events 2/n: Reimagining of EventTarget 2019-01-16 20:22:39 -08:00
UnbatchedEventQueue.cpp Update copyright headers to yearless format 2018-09-11 15:33:07 -07:00
UnbatchedEventQueue.h Fabric: Codemod: All `<fabric/...` includes were renamed to `<react/...` 2018-11-10 14:22:15 -08:00
primitives.h Fabric: Lock-free events 2/n: Reimagining of EventTarget 2019-01-16 20:22:39 -08:00