You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Presently we use a waitgroup-style int stored against the zone to order asynchronous operations; however:
this is difficult to reason about in the event of issues - it is unclear which operations have completed and decremented the counter, and which have not, without inspecting thousands of lines of log items.
it is not scalable: we can only control a single final event (e.g. redemption rate triggering) and cannot use it to arbitrarily order and schedule events
it is imperfect: it is possible that taking action X on reaching 0 might be unintentionally triggered before it is desired - and potentially triggered multiple times.
The successor to this will event manager:
EventManager will be standalone module that other modules can hook into, declare callback handlers (in the same way that interchain queries does), and conditionally trigger events on the successful satisfaction of structured conditionals. The conditionals allow the expression of complex states; e.g. only trigger the redemption rate callback with arguments x,y and z, in the events that all unbondings, delegations and queries are completed.
The text was updated successfully, but these errors were encountered:
Summary
Presently we use a waitgroup-style int stored against the zone to order asynchronous operations; however:
The successor to this will event manager:
The text was updated successfully, but these errors were encountered: