Remove read lock on event dispatch by providing an activeTable Supplier to pass events to if this DispatchTable is closed, allowing #dispatch to race with #close safely.
Decouple creation of DispatchTable from Flattener
Add option to disable recursion guard in EventBusBuilder
Further optimize event dispatch for guarded event buses by removing ThreadLocal#remove call. This remains safe as it is a lightweight 1 length int[] array.
Fix ClassValueDispatchTable not dispatching events
Improve internal RecursionGuard usability by accepting a Runnable instead of manual #increment and #resetTo(int) calls.
Updated unit tests where appropriate to account for refactors
Added JMH benchmarks for guarded and unguarded recursion event buses
Updated README with benchmark results.
Comments 0
No comments yet. Be the first!
Sign in to join the conversation.