711614b16bb76f971163fb838e3713690622bd38
[jump.git] / dol / examples / example1 / src / consumer.c
1 #include <stdio.h>
2
3 #include "consumer.h"
4
5 void consumer_init(DOLProcess *p) {
6     sprintf(p->local->name, "consumer");
7     p->local->index = 0;
8     p->local->len = LENGTH;
9 }
10
11 int consumer_fire(DOLProcess *p) {
12     float c;
13     if (p->local->index < p->local->len) {
14         DOL_read((void*)PORT_IN, &c, sizeof(float), p);
15         printf("%s: %f\n", p->local->name, c);
16         p->local->index++;
17     }
18
19     if (p->local->index >= p->local->len) {
20         DOL_detach(p);
21         return -1;
22     }
23
24     return 0;
25 }
26