fpmas 1.6
Classes | Public Member Functions | List of all members
fpmas::scheduler::Scheduler Class Reference

#include <scheduler.h>

Inheritance diagram for fpmas::scheduler::Scheduler:
Inheritance graph
[legend]
Collaboration diagram for fpmas::scheduler::Scheduler:
Collaboration graph
[legend]

Public Member Functions

void schedule (api::scheduler::Date date, const api::scheduler::Job &) override
 
void schedule (api::scheduler::Date date, api::scheduler::Period period, const api::scheduler::Job &) override
 
void schedule (api::scheduler::Date date, api::scheduler::Date end, api::scheduler::Period period, const api::scheduler::Job &) override
 
void schedule (api::scheduler::Date date, api::scheduler::JobList) override
 
void schedule (api::scheduler::Date date, api::scheduler::Period period, api::scheduler::JobList) override
 
void schedule (api::scheduler::Date date, api::scheduler::Date end, api::scheduler::Period period, api::scheduler::JobList) override
 
void build (api::scheduler::TimeStep step, fpmas::api::scheduler::Epoch &) const override
 
virtual void schedule (Date date, const Job &job)=0
 
virtual void schedule (Date date, Period period, const Job &job)=0
 
virtual void schedule (Date date, Date end, Period period, const Job &job)=0
 
virtual void schedule (Date date, JobList job)=0
 
virtual void schedule (Date date, Period period, JobList job)=0
 
virtual void schedule (Date date, Date end, Period period, JobList job)=0
 
virtual void build (TimeStep step, Epoch &epoch) const =0
 

Detailed Description

api::scheduler::Scheduler implementation.

Member Function Documentation

◆ schedule() [1/6]

void fpmas::scheduler::Scheduler::schedule ( api::scheduler::Date  date,
const api::scheduler::Job job 
)
overridevirtual

Schedule a Job to be executed at the given Date.

Parameters
datedate when the job must be executed
jobjob to execute

Implements fpmas::api::scheduler::Scheduler.

◆ schedule() [2/6]

void fpmas::scheduler::Scheduler::schedule ( api::scheduler::Date  date,
api::scheduler::Period  period,
const api::scheduler::Job job 
)
overridevirtual

Schedule a Job to be executed at the given Period, starting from the given Date.

In other terms, the job will be executed at date, date+period and date+n*period for any integer n.

Parameters
datedate when the job must be executed at first
periodperiod at which the job must be executed
jobjob to execute

Implements fpmas::api::scheduler::Scheduler.

◆ schedule() [3/6]

void fpmas::scheduler::Scheduler::schedule ( api::scheduler::Date  date,
api::scheduler::Date  end,
api::scheduler::Period  period,
const api::scheduler::Job job 
)
overridevirtual

Schedules a Job to be executed at the given Period, starting from the given Date, until the end Date.

In other terms, the job will be executed at date, date+period and date+n*period for any integer n such that date+n*period < end.

Parameters
datedate when the job must be executed at first
enddate until when the job must be executed
periodperiod at which the job must be executed
jobjob to execute

Implements fpmas::api::scheduler::Scheduler.

◆ schedule() [4/6]

void fpmas::scheduler::Scheduler::schedule ( api::scheduler::Date  date,
api::scheduler::JobList  job 
)
overridevirtual

Schedules a Job list to be executed sequentially at the given Date.

Parameters
datedate when the job must be executed
jobjob to execute

Implements fpmas::api::scheduler::Scheduler.

◆ schedule() [5/6]

void fpmas::scheduler::Scheduler::schedule ( api::scheduler::Date  date,
api::scheduler::Period  period,
api::scheduler::JobList  job 
)
overridevirtual

Schedules a Job list to be executed sequentially at the given Period, starting from the given Date.

In other terms, the job will be executed at date, date+period and date+n*period for any integer n.

Parameters
datedate when the job must be executed at first
periodperiod at which the job must be executed
jobjob to execute

Implements fpmas::api::scheduler::Scheduler.

◆ schedule() [6/6]

void fpmas::scheduler::Scheduler::schedule ( api::scheduler::Date  date,
api::scheduler::Date  end,
api::scheduler::Period  period,
api::scheduler::JobList  job 
)
overridevirtual

Schedules a Job list to be executed sequentially at the given Period, starting from the given Date, until the end Date.

In other terms, the job will be executed at date, date+period and date+n*period for any integer n such that date+n*period < end.

Parameters
datedate when the job must be executed at first
enddate until when the job must be executed
periodperiod at which the job must be executed
jobjob to execute

Implements fpmas::api::scheduler::Scheduler.

◆ build()

void fpmas::scheduler::Scheduler::build ( api::scheduler::TimeStep  step,
fpmas::api::scheduler::Epoch epoch 
) const
overridevirtual

Builds an Epoch that correspond to the specified date.

All jobs currently scheduled at the specified time step, according to the rules of the schedule() functions, will be submitted to the given epoch. Jobs are ordered by Date within the built epoch. If jobs are submitted with the same Date, the execution order is undefined.

See also
Epoch::submit()
Parameters
steptime step to build
epochoutput epoch

Implements fpmas::api::scheduler::Scheduler.


The documentation for this class was generated from the following files: