Skip to content

Events

Events are the way FSMs interconnect with each other. They are propagated through Event Bus and can be Subscribed on and Emitted by FSMs. Event Names are globally unique and the only knowledge, that is shared between various state machines. This allows for week binding of components through namespacing.

Event Bus along with Events and their Event Meta declarations are the backbone of Yantrix application. It's the core upon everything is built upon. Events reflect real-world interactions of abstracted Data, like UI inputs, I/O, timers, network. Most importantly, Events could be artifically constructed to implement control flows, which allow for synchronization of different FSMs, each of them representing some long-term asynchronous operation, allowing for patterns like Saga and integration with almost everything through Event-Driven Architecture