#include "scheduler.hpp" scheduler s; void scheduler::spawn(Fiber* fiber) { fibers_.push_back(fiber); } void scheduler::do_it() { while (!fibers_.empty()) { Fiber* fiber = fibers_.front(); fibers_.pop_front(); current_context_ = fiber->get_context(); swap_context(&context_, current_context_); } } void scheduler::fiber_exit(Context* current_context) { set_context(&context_); } Context* scheduler::get_current_context() { return current_context_; }