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
Implement a mechanism which will allow, for a producer of the Hermes event, to know whether this event was already executed or not.
So the event producer's could look like:
let event = SomeEvent::new();let event_waiter = event.get_waiter();
event::queue::send(event);
event_waiter.wait();
Description
Potential implementation
Every Event can have an OPTIONAL mpsc queue of depth n attached to it.
The Extension generating the event, if it wants notice that the event is fully processed, creates the mpsc queue, and attaches it to the event.
The Sender then waits on the queue.
The Event queue, dispatches the event, and when the event is fully processed, before its discarded, the event queue posts the event back to the mpsc queue in the event itself (assuming one is defined).
The text was updated successfully, but these errors were encountered:
make_waiter() -> Returns the RX handle, sets internally Some(tx_handle).
set_waiter(tx) -> Sets Some(tx_handle) if the mpsc was already created outside.
finished() -> if tx_handle.is_not_none() tx_handle.send(self)
Summary
Implement a mechanism which will allow, for a producer of the Hermes event, to know whether this event was already executed or not.
So the event producer's could look like:
Description
Potential implementation
The text was updated successfully, but these errors were encountered: