ROOT-Sim core  3.0.0-rc.2
A General-Purpose Multi-threaded Parallel/Distributed Simulation Library
Classes | Macros | Functions
process.h File Reference

LP state management functions. More...

#include <datatypes/array.h>
#include <lp/msg.h>
Include dependency graph for process.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  process_ctx
 The message processing data produced by the LP. More...
 

Macros

#define is_msg_sent(msg_p)   (((uintptr_t)(msg_p)) & 3U)
 
#define is_msg_remote(msg_p)   (((uintptr_t)(msg_p)) & 2U)
 
#define is_msg_local_sent(msg_p)   (((uintptr_t)(msg_p)) & 1U)
 
#define is_msg_past(msg_p)   (!(((uintptr_t)(msg_p)) & 3U))
 
#define unmark_msg(msg_p)   ((struct lp_msg *)(((uintptr_t)(msg_p)) & (UINTPTR_MAX - 3)))
 

Functions

void process_lp_init (struct lp_ctx *lp)
 Initializes the processing module in the current LP.
 
void process_lp_fini (struct lp_ctx *lp)
 Finalize the processing module in the current LP.
 
void process_msg (void)
 Extract and process a message, if available. More...
 

Detailed Description

LP state management functions.

LP state management functions

Function Documentation

◆ process_msg()

void process_msg ( void  )

Extract and process a message, if available.

This function encloses most of the actual parallel/distributed simulation logic.