event-horizon is a general-purpose event library that provides various event-system for building event-driven systems.

There are four key components to event-horizon:

  • Event User event source instance where events trigger.
  • EventData User data model broadcasted as the event argument.
  • EventListener One of potentially multiple instances that subscribe to the event. Production ready listeners are provided.
  • EventProtocol User function or method implementation that is eventually invoked by the listener.

Note: All EventListener share the same single callable protocol as an EventProtocol. If concurrent dispatching is not required, an EventProtocol function/lambda can simply be used implace of the EventListener.

diagram

Follow this space for the first release!