| | 155 | |
| | 156 | Second attempt: this would be much better if CIVL-C provided some abstract datatypes for message queues and so on. |
| | 157 | What should these datatypes be? |
| | 158 | |
| | 159 | * `$message` : an abstract datatype |
| | 160 | * `$message $message_create(int source, int dest, int tag, void *data, int size)` |
| | 161 | * `int $message_source($message * message)` |
| | 162 | * `int $message_tag($message * message)` |
| | 163 | * `int $message_dest($message * message)` |
| | 164 | * `int $message_size($message * message)` |
| | 165 | * `void $message_destroy($message * message)` |
| | 166 | * `$comm` : an abstract datatype |
| | 167 | * `$comm $comm_create(int nprocs, $proc * procs)` |
| | 168 | * `int $comm_nprocs($comm * comm)` |
| | 169 | * `$proc * $comm_procs($comm * comm)` |
| | 170 | * `void $comm_enqueue($comm * comm, $message * message)` |
| | 171 | * `boolean $comm_probe($comm * comm, int source, int dest, int tag)` |
| | 172 | * `$message * $comm_dequeue($comm * comm, int source, int dest, int tag)` |
| | 173 | |
| | 174 | |
| | 175 | |