The ROme OpTimistic Simulator  3.0.0
A General-Purpose Multithreaded Parallel/Distributed Simulation Platform
process.h
Go to the documentation of this file.
1 
11 #pragma once
12 
13 #include <datatypes/array.h>
14 #include <lp/msg.h>
15 
17 struct process_data {
19  dyn_array(struct lp_msg *) past_msgs;
21 
24  dyn_array(struct lp_msg *) sent_msgs;
25 };
26 
27 extern void process_global_init(void);
28 extern void process_global_fini(void);
29 
30 extern void process_lp_init(void);
31 extern void process_lp_deinit(void);
32 extern void process_lp_fini(void);
33 
34 extern void process_msg(void);
35 extern void process_msg_sent(struct lp_msg *msg);
process_data
The message processing data produced by the LP.
Definition: process.h:17
lp_msg
A model simulation message.
Definition: msg.h:34
process_lp_init
void process_lp_init(void)
Initializes the processing module in the current LP.
Definition: process.c:66
msg.h
Message management functions.
array.h
Dynamic array datatype.
process_data::dyn_array
dyn_array(struct lp_msg *) past_msgs
The messages processed in the past by the owner LP.
process_lp_fini
void process_lp_fini(void)
Finalizes the processing module in the current LP.
Definition: process.c:98
process_lp_deinit
void process_lp_deinit(void)
Deinitializes the LP by calling the model's DEINIT handler.
Definition: process.c:88