pubnub / rust

PubNub Rust SDK.
Other
28 stars 8 forks source link

Event engine implementation #139

Closed parfeon closed 1 year ago

parfeon commented 1 year ago

feat(ee): event engine implementation

Provide generic event engine implementation which can operate over different states.

feat(ee): provide subscribe states

Provide a list of states which correspond to subscribe state machine.

feat(ee): provide list of subscribe state machine events

Provide a list of events which trigger transition between states in subscribe state machine.

feat(ee): define transitions

Define transition directions in response to event, depending on from current state machine state.

feat(ee): provide list of effects and invocations

Provide a list of effects invocation and effects which can be called as part of transitions.

parfeon commented 1 year ago

FYI: Clippy won't be happy with this because a lot of code detached (it needs to be bound with actual effect implementation and EE usage).

Xavrax commented 1 year ago

You can add #[allow(dead_code)] for the whole modules.

parfeon commented 1 year ago

What thing makes me worried. There are 1.5k lines without any test ;o

I will work on this.