1#ifndef FPMAS_SCHEDULER_API_H
2#define FPMAS_SCHEDULER_API_H
12namespace fpmas {
namespace api {
namespace scheduler {
81 virtual void run() = 0;
96 virtual void setJobPos(
JID job_id, std::list<Task*>::iterator pos) = 0;
163 virtual std::vector<Task*>
tasks()
const = 0;
215 typedef std::vector<std::reference_wrapper<const Job>>
JobList;
266 virtual const std::vector<const Job*>&
jobs()
const = 0;
Definition: distributed_node.h:28
Definition: scheduler.h:223
std::vector< constJob * >::const_iterator JobIterator
Definition: scheduler.h:229
virtual void submit(JobList job_list, SubTimeStep sub_time_step)=0
virtual size_t jobCount()=0
virtual const std::vector< const Job * > & jobs() const =0
virtual JobIterator end() const =0
virtual JobIterator begin() const =0
virtual void submit(const Job &job, SubTimeStep sub_time_step)=0
Definition: scheduler.h:135
virtual JID id() const =0
virtual void remove(Task &task)=0
virtual TaskIterator end() const =0
virtual Task & getEndTask() const =0
virtual void setBeginTask(Task &task)=0
virtual void add(Task &task)=0
virtual Task & getBeginTask() const =0
virtual void setEndTask(Task &task)=0
std::list< Task * >::const_iterator TaskIterator
Definition: scheduler.h:140
virtual TaskIterator begin() const =0
virtual std::vector< Task * > tasks() const =0
Definition: scheduler.h:117
virtual api::graph::DistributedNode< T > * node()=0
Definition: scheduler.h:302
virtual void schedule(Date date, const Job &job)=0
virtual void schedule(Date date, Date end, Period period, JobList job)=0
virtual void schedule(Date date, Date end, Period period, const Job &job)=0
virtual void schedule(Date date, Period period, const Job &job)=0
virtual void build(TimeStep step, Epoch &epoch) const =0
virtual void schedule(Date date, JobList job)=0
virtual void schedule(Date date, Period period, JobList job)=0
Definition: scheduler.h:76
virtual std::list< Task * >::iterator getJobPos(JID job_id) const =0
virtual void setJobPos(JID job_id, std::list< Task * >::iterator pos)=0
float Date
Definition: scheduler.h:24
std::vector< std::reference_wrapper< const Job > > JobList
Definition: scheduler.h:215
TimeStep time_step(Date date)
Definition: scheduler.cpp:4
SubTimeStep sub_time_step(Date date)
Definition: scheduler.cpp:8
Date sub_step_end(TimeStep step)
Definition: scheduler.cpp:13
float SubTimeStep
Definition: scheduler.h:33
unsigned long Period
Definition: scheduler.h:16
size_t JID
Definition: scheduler.h:38
unsigned long TimeStep
Definition: scheduler.h:29