tonarino / actor

A minimalist actor framework aiming for high performance and simplicity.
MIT License
40 stars 6 forks source link

Delayed/recurring messages are not delivered to busy actors #72

Closed strohel closed 1 year ago

strohel commented 1 year ago

When a Timed<> actor does something like

fn handle(&mut self, context, message) {
    sleep(some time);
    context.myself.send_now(some message);
}

Then delayed or recurring messages are never delivered to it (no matter what priority they have), because Timed wrapper only processes them in deadline_exceeded(), which is never called (because the queue in never empty in actors event loop handling).