Example #1
0
int main(int argc, char *argv[])
{
    int i;
    int id1;
    int id2;
    span_sched_state_t sched;
    uint64_t when;

    span_schedule_init(&sched);

    id1 = span_schedule_event(&sched, 500000, callback1, NULL);
    id2 = span_schedule_event(&sched, 550000, callback2, NULL);
    when1 = span_schedule_time(&sched) + 500000;
    when2 = span_schedule_time(&sched) + 550000;
    //span_schedule_del(&sched, id);

    for (i = 0;  i < 100000000;  i += 20000)
    {
        span_schedule_update(&sched, 20000);
    }
    when = span_schedule_time(&sched);
    if ((when1 - when) < 0  ||  (when1 - when) > 500000  ||  (when2 - when) < 0  ||  (when2 - when) > 550000)
    {
        printf("Callback failed to occur.\n");
        exit(2);
    }
    span_schedule_release(&sched);

    printf("Tests passed.\n");
    return  0;
}
Example #2
0
SPAN_DECLARE(int) span_schedule_free(span_sched_state_t *s)
{
    span_schedule_release(s);
    if (s)
        span_free(s);
    return 0;
}