![]() |
The ROme OpTimistic Simulator
2.0.0
A General-Purpose Multithreaded Parallel/Distributed Simulation Platform
|
Per-LP buffer of newly-generated events. More...
#include <communication.h>
Data Fields | |
msg_t ** | outgoing_msgs |
Resizable array of message pointers. | |
unsigned int | size |
How many events is this currently keeping. | |
unsigned int | max_size |
Total space in outgoing_msgs. | |
simtime_t * | min_in_transit |
Smallest timestamp of events kept here. | |
Per-LP buffer of newly-generated events.
For performance reasons, while executing an event, newly-generated events are packed and pre-buffered in a per-LP data structure defined by the outgoing_t type. This implements a resizable array of pointers to msg_t types. Anytime that an event generates more new events than currently supported, the array is doubled in size.
This structure is used by the communication subsystem to handle outgoing messages. At simulation startup, there is space for at most INIT_OUTGOING_MSG messages.
The structure keeps pointers to messages which have been packed using the pack_msg() function. This allows to implement from the beginning a zero-copy message passing policy.
Definition at line 122 of file communication.h.