diff --git a/Assignment/Task 3/scheduler.h b/Assignment/Task 3/scheduler.h new file mode 100644 index 0000000000000000000000000000000000000000..da6e6088221e71b711f04d63afa7f022ab9fd61c --- /dev/null +++ b/Assignment/Task 3/scheduler.h @@ -0,0 +1,23 @@ +#ifndef SCHEDULER_H +#define SCHEDULER_H + +#include <deque> +#include "fiber.h" + +class scheduler { +private: + std::deque<fiber*> fibers_; + Context context_; + +public: + scheduler(); + ~scheduler(); + + void spawn(fiber* f); + void do_it(); + void fiber_exit(); + void yield(fiber* f); +}; + +#endif // SCHEDULER_H +