|
8 | 8 |
|
9 | 9 | static StaticScheduler scheduler; |
10 | 10 |
|
11 | | -Reaction *lf_sched_get_ready_reaction(StaticScheduler *scheduler, int worker_number) { |
| 11 | +void *interpret(StaticScheduler *scheduler, int worker_number) { |
12 | 12 | LF_PRINT_DEBUG("Worker %d inside lf_sched_get_ready_reaction", worker_number); |
13 | 13 |
|
14 | 14 | const inst_t *current_schedule = scheduler->static_schedule[worker_number]; |
@@ -37,17 +37,35 @@ Reaction *lf_sched_get_ready_reaction(StaticScheduler *scheduler, int worker_num |
37 | 37 | return returned_reaction; |
38 | 38 | } |
39 | 39 |
|
| 40 | +void StaticScheduler_run(Scheduler *untyped_self) { |
| 41 | + StaticScheduler *self = (StaticScheduler *)untyped_self; |
| 42 | + (void)self; |
| 43 | + // Environment *env = self->env; |
| 44 | + // lf_ret_t res; |
| 45 | + printf("Hello from the static scheduler\n"); |
| 46 | +} |
| 47 | + |
| 48 | +void StaticScheduler_acquire_and_schedule_start_tag(Scheduler *untyped_self) { |
| 49 | + StaticScheduler *self = (StaticScheduler *)untyped_self; |
| 50 | + (void)self; |
| 51 | + // Environment *env = self->env; |
| 52 | + // lf_ret_t res; |
| 53 | +} |
| 54 | + |
40 | 55 | void StaticScheduler_ctor(StaticScheduler *self, Environment *env, const inst_t **static_schedule) { |
41 | 56 | self->env = env; |
42 | 57 | self->static_schedule = static_schedule; |
43 | 58 |
|
44 | | - self->super->run = Scheduler_run; |
45 | | - self->super->do_shutdown = Scheduler_do_shutdown; |
46 | | - self->super->schedule_at = Scheduler_schedule_at; |
47 | | - self->super->schedule_at_locked = Scheduler_schedule_at_locked; |
48 | | - self->super->register_for_cleanup = Scheduler_register_for_cleanup; |
49 | | - self->super->request_shutdown = Scheduler_request_shutdown; |
50 | | - self->super->acquire_and_schedule_start_tag = Scheduler_acquire_and_schedule_start_tag; |
| 59 | + self->super.run = StaticScheduler_run; |
| 60 | + self->super.do_shutdown = NULL; |
| 61 | + self->super.schedule_at = NULL; // FIXME: Expect runtime exception. |
| 62 | + self->super.schedule_at_locked = NULL; |
| 63 | + self->super.register_for_cleanup = NULL; |
| 64 | + self->super.request_shutdown = NULL; |
| 65 | + self->super.acquire_and_schedule_start_tag = StaticScheduler_acquire_and_schedule_start_tag; |
51 | 66 | } |
52 | 67 |
|
53 | | -Scheduler *Scheduler_new(void) { return (Scheduler *)&scheduler; } |
| 68 | +Scheduler *Scheduler_new(Environment *env) { |
| 69 | + StaticScheduler_ctor(&scheduler, env, NULL); // FIXME: Supply scheduler pointer. |
| 70 | + return (Scheduler *)&scheduler; |
| 71 | +} |
0 commit comments