Event Hub
AsyncEventHub provides a way to synchronize a group of asynchronous events in a various ways:
- Wait for a single event
- Wait for any of the specified events (OR gateway)
- Wait for all events from the specified subset of events (AND gateway)
There are two types of signals:
- Pulse turns the specified event into signaled state
- Reset and Pulse turns the specified event into signaled state and switches all other events back to non-signaled state
Typically, Event Hub is applied to synchronize transition between phases in asynchronous process.
Differences with AsyncCorrelationSource
AsyncCorrelationSource allows to coordinate multiple unique events such as asynchronous messages. On the other hand, AsyncEventHub provides a synchronization of a known group of asynchronous events.