1
0

loop.c 818 B

12345678910111213141516171819202122232425
  1. #include "hloop.h"
  2. void on_idle(hidle_t* idle) {
  3. printf("on_idle: event_id=%lu\tpriority=%d\tuserdata=%ld\n", idle->event_id, idle->priority, (long)idle->userdata);
  4. }
  5. void on_timer(htimer_t* timer) {
  6. printf("on_timer: event_id=%lu\tpriority=%d\tuserdata=%ld\ttime=%lus\thrtime=%luus\n",
  7. timer->event_id, timer->priority, (long)timer->userdata, hloop_now(timer->loop), timer->loop->cur_hrtime);
  8. }
  9. int main() {
  10. hloop_t loop;
  11. hloop_init(&loop);
  12. for (int i = HEVENT_LOWEST_PRIORITY; i <= HEVENT_HIGHEST_PRIORITY; ++i) {
  13. hidle_t* idle = hidle_add(&loop, on_idle, 10);
  14. idle->priority = i;
  15. }
  16. for (int i = 1; i <= 10; ++i) {
  17. htimer_t* timer = htimer_add(&loop, on_timer, i*1000, i);
  18. timer->userdata = (void*)i;
  19. }
  20. hloop_run(&loop);
  21. return 0;
  22. }