Alarm * Alarm_addRelativeMs(Uint32 ms, AlarmCallback callback, AlarmCallbackArg arg) { Alarm *alarm; assert(alarmHeap != NULL); alarm = Alarm_alloc(); alarm->time = AlarmTime_nowMS() + ms; alarm->callback = callback; alarm->arg = arg; Heap_add(alarmHeap, (HeapValue *) alarm); return alarm; }
Route *Route_alloc(Route *parent, const char *name) { Route *r = h_calloc(1, sizeof(Route)); assert_mem(r); r->name = bfromcstr(name); assert_mem(r->name); r->members = Heap_create(NULL); r->children = Heap_create(Route_children_compare); // add it to the children mapping if(parent) { hattach(r, parent); Heap_add(parent->children, r); } return r; }