|
INSEE 05.04.2011
Interconnection Nertworks Simulation and Evaluation Environment
|
Definition of the queues used in FSIN routers. Both transit & injection queues are defined here. More...


Go to the source code of this file.
Data Structures | |
| struct | queue |
| struct | inj_queue |
Typedefs | |
| typedef struct queue | queue |
| typedef struct inj_queue | inj_queue |
Functions | |
| void | init_queue (queue *q) |
| long | queue_len (queue *q) |
| long | queue_space (queue *q) |
| phit * | head_queue (queue *q) |
| void | ins_queue (queue *q, phit *i) |
| void | ins_mult_queue (queue *q, phit *i, long copies) |
| void | rem_queue (queue *q, phit *i) |
| void | rem_head_queue (queue *q) |
| void | inj_init_queue (inj_queue *q) |
| long | inj_queue_len (inj_queue *q) |
| long | inj_queue_space (inj_queue *q) |
| void | inj_ins_queue (inj_queue *q, phit *i) |
| void | inj_ins_mult_queue (inj_queue *q, phit *i, long copies) |
| void | inj_rem_queue (inj_queue *q, phit *i) |
Definition of the queues used in FSIN routers. Both transit & injection queues are defined here.
Looks at the first phit of a queue.
Requires a non-empty queue. Otherwise, panics
| q | A queue. |
| void init_queue | ( | queue * | q | ) |
Initializes a queue.
Making it empty.
| q | The queue to initialize. |
| void inj_init_queue | ( | inj_queue * | q | ) |
Initializes an injection queue.
Making it empty.
| q | The injection queue to be initialized. |
Inserts some clones of a phit in an injection queue.
Requires enough space. Otherwise, panics.
| q | An injection queue. |
| i | The phit to be inserted. |
| copies | Number of copies of i. |
Inserts a phit in an injection queue.
Requires a buffer with room for the phit. Otherwise, panics
| q | An injection queue. |
| i | The phit to insert. |
| long inj_queue_len | ( | inj_queue * | q | ) |
Calculates the length of an injection queue.
| q | An injection queue. |
| long inj_queue_space | ( | inj_queue * | q | ) |
Calculates the free space in an injection queue.
| q | An injection queue. |
Take the first phit in an injection queue.
Removes the head phit from the injection queue & returns it. Requires a non-empty queue. Otherwise, panics.
| q | An injection queue. |
| i | The removed phit is returned here. |
Inserts many (identical) copies of a phit "i" in queue "q"
Requires enough space. Otherwise, panics.
| q | A queue. |
| i | The phit to be cloned & inserted. |
| copies | Number of clones of i. |
Inserts a phit in a queue.
Requires a buffer with room for the phit. Otherwise, panics
| q | A queue. |
| i | The phit to be inserted. |
| long queue_len | ( | queue * | q | ) |
Calculates the length of a queue.
| q | A queue. |
| long queue_space | ( | queue * | q | ) |
Calculates the free space in a queue.
| q | A queue. |
| void rem_head_queue | ( | queue * | q | ) |
Removes the head of queue.
Does not return anything. Requires a non-empty queue. Otherwise, panics.
| q | A queue. |
1.7.4