L4Re Operating System Framework
Interface and Usage Documentation
Loading...
Searching...
No Matches
Block_device::Scheduler_base< DEV > Class Template Referenceabstract

Scheduler base class. More...

#include <scheduler.h>

+ Inheritance diagram for Block_device::Scheduler_base< DEV >:
+ Collaboration diagram for Block_device::Scheduler_base< DEV >:

Public Member Functions

virtual l4_size_t get_weight (Client_type const *)=0
 Return the weight of the client.
 
virtual l4_size_t get_cost (Pending_request const &)=0
 Return the cost of the pending request.
 

Detailed Description

template<typename DEV>
class Block_device::Scheduler_base< DEV >

Scheduler base class.

Derive from this class and override get_weight() and get_cost() to implement the desired scheduling algorithm.

The interpretation of the weight function depends on the definition of the cost function. For example, if the cost of each request is fixed to be 1, the weight then says how many requests per scheduling round the client can process. If the weight of each client is also fixed to be 1, it will result in the Round Robin scheduler. If the request cost derives from the size of data the request operates on, the weight determines a data limit.

Definition at line 35 of file scheduler.h.


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