The ROme OpTimistic Simulator  2.0.0
A General-Purpose Multithreaded Parallel/Distributed Simulation Platform
_outgoing_t Struct Reference

Per-LP buffer of newly-generated events. More...

#include <communication.h>

+ Collaboration diagram for _outgoing_t:

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_tmin_in_transit
 Smallest timestamp of events kept here.
 

Detailed Description

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.


The documentation for this struct was generated from the following file: