Main Page | Modules | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

Preemption Class Reference

#include <preemption.h>

Inheritance diagram for Preemption:

Sender List of all members.

Public Member Functions

 Preemption (Global_id const id)
 Preemption sender role constructor.
void set_receiver (Receiver *receiver)
 Set receiver (preempter) which receives preemption IPC.
Sched_contextpending () const
 Return scheduling context for which this role is going to send PIPC.
void set_pending (Sched_context *const sched)
 Set scheduling context for which this role is going to send PIPC.
void queue (Sched_context::Preemption_type type, Cpu_time time, Sched_context *sched)
 Queue a pending preemption event on a Sched_context.

Private Member Functions

void preempter_enqueue ()
void ipc_receiver_ready ()
 Callback function for when the receiver of a preemption IPC becomes ready to receive.
void setup_msg (L4_pipc const pipc) const

Private Attributes

Sched_context_pending

Constructor & Destructor Documentation

Preemption::Preemption Global_id const   id  ) 
 

Preemption sender role constructor.


Member Function Documentation

void Preemption::ipc_receiver_ready  )  [private, virtual]
 

Callback function for when the receiver of a preemption IPC becomes ready to receive.

Send the IPC and submit the next one.

Implements Sender.

Sched_context * Preemption::pending  )  const [inline]
 

Return scheduling context for which this role is going to send PIPC.

void Preemption::preempter_enqueue  )  [private]
 

void Preemption::queue Sched_context::Preemption_type  type,
Cpu_time  time,
Sched_context sched
 

Queue a pending preemption event on a Sched_context.

If there is already a pending event, this new event is resubmitted by find_next_preemption() later.

Parameters:
type Type of preemption event
time Time at which preemption event occured
sched Sched_context this preemption event occured on

void Preemption::set_pending Sched_context *const   sched  )  [inline]
 

Set scheduling context for which this role is going to send PIPC.

void Preemption::set_receiver Receiver receiver  )  [inline]
 

Set receiver (preempter) which receives preemption IPC.

Reimplemented from Sender.

void Preemption::setup_msg L4_pipc const   pipc  )  const [inline, private]
 


Member Data Documentation

Sched_context* Preemption::_pending [private]
 


The documentation for this class was generated from the following files:
Generated on Mon Sep 26 14:20:16 2005 for Fiasco by  doxygen 1.4.2