#ifndef BOUNDED_PROLIFIC_SCHEDULER_HPP
#define BOUNDED_PROLIFIC_SCHEDULER_HPP

#include <sys/types.h>

using scheduler_task_fn = void (*)(int taskId, int workerId, int workerCount, void* context);

int run_bounded_prolific_scheduler(
    int totalTasks,
    int workerCount,
    scheduler_task_fn taskFn,
    void* context,
    bool enableAffinity = true
);

bool bind_process_to_cpu_scheduler(int cpuId);

#endif
