 |
The ROme OpTimistic Simulator
3.0.0
A General-Purpose Multithreaded Parallel/Distributed Simulation Platform
|
Go to the documentation of this file.
17 extern void msg_allocator_init(
void);
18 extern void msg_allocator_fini(
void);
20 extern struct lp_msg* msg_allocator_alloc(
unsigned payload_size);
21 extern void msg_allocator_free (
struct lp_msg *msg);
22 extern void msg_allocator_free_at_gvt (
struct lp_msg *msg);
23 extern void msg_allocator_fossil_collect(
simtime_t current_gvt);
26 unsigned event_type,
const void *payload,
unsigned payload_size)
28 struct lp_msg *msg = msg_allocator_alloc(payload_size);
36 memcpy(msg->
pl, payload, payload_size);
double simtime_t
The type used to represent logical time in the simulation.
uint_fast32_t m_type
The message type, a user controlled field.
A model simulation message.
Message management functions.
lp_id_t dest
The id of the recipient LP.
#define likely(exp)
Optimize the branch as likely taken.
unsigned char pl[48]
The initial part of the payload.
uint64_t lp_id_t
Used to uniquely identify LPs in the simulation.
uint_fast32_t pl_size
The message payload size.
simtime_t dest_t
The intended destination logical time of this message.