Expand description
Register interest in events and wake futures when the event occurs
§Reactor
The Reactor stores a register of all the events that are currently being listened for.
This has been designed so that it is completed decoupled from the main Execution Engine logic meaning that you could extract the Reactor to a separate process entirely. By separating this to another process you could update/patch the main EE component and the reactor would store any events that came in and then we could resume jobs despite the core EE component being swapped out. Of course this will require the interface between the EE and Reactor remained consistent.
§Events
An event is defined as an external message coming in notifying the EE that something has occurred. This could be something like:
- The Bot is locked and unable to make progress
- An activity response has come in
Structs§
- Reactor
- The Reactor struct stores event references for the events currently being waited on
Enums§
- Event
- A sum type/algebraic data type containing all the different types of Event that could occur