The ROme OpTimistic Simulator  2.0.0
A General-Purpose Multithreaded Parallel/Distributed Simulation Platform
lp_struct Struct Reference
+ Collaboration diagram for lp_struct:

Public Member Functions

 list (msg_t) queue_in
 Input messages queue.
 
 list (msg_hdr_t) queue_out
 Output messages queue.
 
 list (state_t) queue_states
 Saved states queue.
 
 list (msg_t) rendezvous_queue
 Processed rendezvous queue.
 

Data Fields

LP_context_t context
 LP execution state.
 
LP_context_t default_context
 LP execution state when blocked during the execution of an event.
 
void * stack
 Process' stack.
 
struct memory_mapmm
 Memory map of the LP.
 
LID_t lid
 Local ID of the LP.
 
GID_t gid
 Global ID of the LP.
 
unsigned int worker_thread
 ID of the worker thread towards which the LP is bound.
 
short unsigned int state
 Current execution state of the LP.
 
unsigned int ckpt_period
 This variable mainains the current checkpointing interval for the LP.
 
unsigned int from_last_ckpt
 Counts how many events executed from the last checkpoint (to support PSS)
 
bool state_log_forced
 If this variable is set, the next invocation to LogState() takes a new state log, independently of the checkpointing interval.
 
void * current_base_pointer
 The current state base pointer (updated by SetState())
 
msg_tbound
 Pointer to the last correctly processed event.
 
msg_channelbottom_halves
 Bottom halves.
 
unsigned long long mark
 Unique identifier within the LP.
 
outgoing_t outgoing_buffer
 Buffer used by KLTs for buffering outgoing messages during the execution of an event.
 
bool(* OnGVT )(unsigned int me, void *snapshot)
 
void(* ProcessEvent )(unsigned int me, simtime_t now, int event_type, void *event_content, unsigned int size, void *state)
 
GID_t ECS_synch_table [MAX_CROSS_STATE_DEPENDENCIES]
 
unsigned int ECS_index
 
unsigned long long wait_on_rendezvous
 
unsigned int wait_on_object
 
numerical_state_t numerical
 
topology_ttopology
 pointer to the topology struct
 
region_abm_tregion
 pointer to the region struct
 

Detailed Description

Definition at line 65 of file process.h.

Field Documentation

bool(* lp_struct::OnGVT) (unsigned int me, void *snapshot)

Implementation of OnGVT used for this LP. This can be changed at runtime by the autonomic subsystem, when dealing with ISS and SSS

Definition at line 130 of file process.h.

void(* lp_struct::ProcessEvent) (unsigned int me, simtime_t now, int event_type, void *event_content, unsigned int size, void *state)

Implementation of ProcessEvent used for this LP. This can be changed at runtime by the autonomic subsystem, when dealing with ISS and SSS

Definition at line 136 of file process.h.


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