rres_ready_queue_eheap.h File Reference

Heap-based implementation of an edf queue. More...

#include "rres_config.h"
#include "kal_timer.h"
#include "qos_types.h"
#include "qos_func.h"
#include "kal_eheap.h"
#include "qos_debug.h"
#include "qos_memory.h"
#include "rres_server.h"

Go to the source code of this file.

Defines

#define kal_eheap_key_lt   kal_time_lt
#define RRES_MAX_NUM_SERVERS_BITS   12
#define RRES_MAX_NUM_SERVERS   (1 << RRES_MAX_NUM_SERVERS_BITS)
#define rq_placeholder_init(p_it)   kal_eheap_iterator_init(p_it)
 Inititalize a ready queue placeholder as invalid (item not enqueued).
#define for_each_ready_server(srv, p_it)
 iterate over ready server list

Functions

 kal_define_eheap (kal_time_t, server_p)
typedef kal_eheap_iterator_t (kal_time_t, server_p) rq_placeholder_t
 Ready queue placeholder, useful for being embedded within an enqueued item for subsequenct extraction.
 kal_eheap_t (kal_time_t, server_p) eheap
 Heap of ready servers, min-ordered by abs deadline.
static server_tget_highest_priority_server (void)
 return a pointer to the highest priority server (the first of EDF queue)
static int ready_queue_empty (void)
 return true if the ready queue is empty (no ready server in the system)
static int srv_alone (server_t *srv)
 return true if the server is the only ready server in the system
static int in_ready_queue (server_t *srv)
 return true if the server is in ready queue
static void ready_queue_remove (server_t *srv)
 Remove the server from ready queue.
static qos_rv rres_edf_init (void)
static void rres_edf_cleanup (void)
static qos_rv ready_queue_add (server_t *srv)
 Add the server to ready queue, ordered by deadline (EDF).

Detailed Description

Heap-based implementation of an edf queue.

Definition in file rres_ready_queue_eheap.h.

Generated on Mon Aug 2 22:39:17 2010 for qosres by  doxygen 1.6.3