EricssonResearch / calvin-base

Calvin is an application environment that lets things talk to things, among other things.
Apache License 2.0
282 stars 91 forks source link

Scheduler #90

Closed persquare closed 6 years ago

persquare commented 6 years ago

Not as big as it seems... The changes to files in calvin/calvinsys/* are for backwards compatibility with the old calvinsys. You can safely ignore them from a merge perspective.

I'v collected all scheduling related code in scheduler.py, except for the backoff handling in monitor.py. In particular, I moved the outer fire loop from Actor class to scheduler.

Next step is to create a generic scheduler base class, and let subclasses implement scheduling strategies.

No intended changes to semantics..., tests pass AFAICT