Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

RealTimeSchedule Class Reference

List of all members.

Detailed Description

The RealTimeSchedule class is used to help policies that manage Broker::RealTimeTask's.

Definition at line 29 of file RealTimeSchedule.hh.

Public Member Functions

 RealTimeSchedule (CORBA::ULong start=0, CORBA::ULong period=0, CORBA::ULong deadline=0, rts_reserve_mode_t reserve_mode=RTS_RSV_SOFT, pid_t pid=-1)
 Construct a RealTimeSchedule object with the given values.
void setParameters (const Broker::ScheduleParameters &sp) throw (Broker::DuplicateScheduleParameter, Broker::InvalidScheduleParameter, Broker::MissingScheduleParameter)
 Set the members from a Broker::ScheduleParameters sequence.
virtual ~RealTimeSchedule ()
 Deconstruct a RealTimeSchedule object.
CORBA::ULong intersect (CORBA::ULong start, CORBA::ULong stop)
 Compute the number of microseconds that this schedule will have to execute during the given time frame.

Public Attributes

CORBA::ULong rts_Start
 The start time for the task.
CORBA::ULong rts_Period
 The task period in microseconds.
CORBA::ULong rts_Deadline
 The task deadline in microseconds, relative to the start of the period.
rts_reserve_mode_t rts_ReserveMode
 The reservation mode for the schedule, either hard or soft.
pid_t rts_PID
 The process ID this schedule refers to.


Constructor & Destructor Documentation

RealTimeSchedule::RealTimeSchedule CORBA::ULong  start = 0,
CORBA::ULong  period = 0,
CORBA::ULong  deadline = 0,
rts_reserve_mode_t  reserve_mode = RTS_RSV_SOFT,
pid_t  pid = -1
 

Construct a RealTimeSchedule object with the given values.

Parameters:
start The start time for the task.
period The task period in microseconds.
deadline The task deadline in microseconds, relative to the start of the period.
reserve_mode The reservation mode for the schedule.
pid A PID for a process to be scheduled.

Definition at line 44 of file RealTimeSchedule.cc.

References require.


Member Function Documentation

CORBA::ULong RealTimeSchedule::intersect CORBA::ULong  start,
CORBA::ULong  stop
 

Compute the number of microseconds that this schedule will have to execute during the given time frame.

Parameters:
start The start of the time frame, in microseconds.
stop The end of the time frame, in microseconds.
Returns:
The number of microseconds during the time frame in which this task will be schedulable.

Definition at line 210 of file RealTimeSchedule.cc.

References max, min, require, rts_Period, and rts_Start.

void RealTimeSchedule::setParameters const Broker::ScheduleParameters sp  )  throw (Broker::DuplicateScheduleParameter, Broker::InvalidScheduleParameter, Broker::MissingScheduleParameter)
 

Set the members from a Broker::ScheduleParameters sequence.

Parameters:
sp The sequence to take values from.

Definition at line 58 of file RealTimeSchedule.cc.

References string_to_microsec().

Referenced by WeightedPolicyImpl::AddTask(), and StrictPolicyImpl::AddTask().

Here is the call graph for this function:


Member Data Documentation

CORBA::ULong RealTimeSchedule::rts_Start
 

The start time for the task.

Todo:
Use a long long or timespec here.

Definition at line 81 of file RealTimeSchedule.hh.

Referenced by intersect().


The documentation for this class was generated from the following files:
Generated on Fri Oct 22 07:51:04 2004 for CPU Broker by  doxygen 1.3.9.1