PPL Logo

eventMsg Class Reference

All user event messages inherit from this. More...

#include <sim.h>

Inheritance diagram for eventMsg:

Inheritance graph
[legend]
Collaboration diagram for eventMsg:

Collaboration graph
[legend]

Public Member Functions

 eventMsg ()
 Basic Constructor.
virtual ~eventMsg ()
 Destructor.
void sanitize ()
void Timestamp (POSE_TimeType t)
 Timestamps this message and generates a unique event ID.
void SetSequenceNumber (int ctrl)
eventMsgoperator= (const eventMsg &obj)
 Assignment operator: copies priority too.
void * operator new (size_t size)
 Allocates event message with space for priority.
void operator delete (void *p)
void setPriority (POSE_TimeType prio)
 Set priority field and queuing strategy.

Data Fields

POSE_TimeType timestamp
 The event's timestamp.
eventID evID
 The event's globally unique ID.
size_t msgSize
 The message size, used for message recycling (currently not used).
simparent
 Pointer to a poser wrapper; used to send the pointer to rep object.
stratstr
 Pointer to synchronization strategy; used when creating rep object.
double rst
 Relative start time: for computing degree of parallelization.

Detailed Description

All user event messages inherit from this.

Adds timestamp and event ID to message, plus other info useful for the underlying simulation layer. Prioritized by default, and given a priority based on the timestamp. Events which take no parameters must still pass an eventMsg.

Definition at line 28 of file sim.h.


Constructor & Destructor Documentation

eventMsg::eventMsg (  )  [inline]

Basic Constructor.

Definition at line 43 of file sim.h.

References evID, eventID::init(), parent, rst, and str.

Here is the call graph for this function:

virtual eventMsg::~eventMsg (  )  [inline, virtual]

Destructor.

Definition at line 45 of file sim.h.


Member Function Documentation

void eventMsg::sanitize (  )  [inline]

Definition at line 46 of file sim.h.

References Converse::CkNumPes(), evID, eventID::getPE(), msgSize, parent, str, and timestamp.

Referenced by Event::sanitize(), and sim::SeqResumeAfterCheckpoint().

Here is the call graph for this function:

Here is the caller graph for this function:

void eventMsg::Timestamp ( POSE_TimeType  t  )  [inline]

Timestamps this message and generates a unique event ID.

Timestamps this message and generates a unique event ID for the event to be invoked on the receiving side. Sets the priority of this message to timestamp - POSE_TimeMax.

Definition at line 58 of file sim.h.

References evID, GetEventID(), eventID::getPE(), parent, POSE_TimeMax, rst, setPriority(), str, and timestamp.

Referenced by rep::registerTimestamp(), and chpt< StateType >::registerTimestamp().

Here is the call graph for this function:

Here is the caller graph for this function:

void eventMsg::SetSequenceNumber ( int  ctrl  )  [inline]

Definition at line 66 of file sim.h.

References evID, GetEventID(), and eventID::setControl().

Here is the call graph for this function:

eventMsg& eventMsg::operator= ( const eventMsg obj  )  [inline]

Assignment operator: copies priority too.

Definition at line 71 of file sim.h.

References evID, parent, POSE_TimeMax, rst, setPriority(), str, and timestamp.

Here is the call graph for this function:

void* eventMsg::operator new ( size_t  size  )  [inline]

Allocates event message with space for priority.

This can also handle event message recycling (currently off)

Definition at line 83 of file sim.h.

References MemoryPool::CheckPool(), CkAllocMsg(), CkLocalBranch(), MemoryPool::GetBlock(), MemPoolID, and msg.

Here is the call graph for this function:

void eventMsg::operator delete ( void *  p  )  [inline]

Definition at line 101 of file sim.h.

References MemoryPool::CheckPool(), CkFreeMsg(), CkLocalBranch(), MemPoolID, msgSize, and MemoryPool::PutBlock().

Here is the call graph for this function:

void eventMsg::setPriority ( POSE_TimeType  prio  )  [inline]

Set priority field and queuing strategy.

Definition at line 118 of file sim.h.

References CkPriorityPtr(), and CkSetQueueing().

Referenced by operator=(), rep::registerTimestamp(), chpt< StateType >::registerTimestamp(), and Timestamp().

Here is the call graph for this function:

Here is the caller graph for this function:


Field Documentation

The event's timestamp.

Definition at line 31 of file sim.h.

Referenced by rep::init(), operator=(), chpt< StateType >::registerTimestamp(), sanitize(), and Timestamp().

The event's globally unique ID.

Definition at line 33 of file sim.h.

Referenced by eventMsg(), operator=(), chpt< StateType >::registerTimestamp(), sanitize(), SetSequenceNumber(), and Timestamp().

The message size, used for message recycling (currently not used).

Definition at line 35 of file sim.h.

Referenced by operator delete(), and sanitize().

Pointer to a poser wrapper; used to send the pointer to rep object.

Definition at line 37 of file sim.h.

Referenced by eventMsg(), rep::init(), operator=(), sanitize(), and Timestamp().

Pointer to synchronization strategy; used when creating rep object.

Definition at line 39 of file sim.h.

Referenced by eventMsg(), rep::init(), operator=(), sanitize(), and Timestamp().

double eventMsg::rst

Relative start time: for computing degree of parallelization.

Definition at line 41 of file sim.h.

Referenced by eventMsg(), operator=(), sim::SeqResumeAfterCheckpoint(), and Timestamp().


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

Generated on Mon Sep 21 08:23:24 2020 for Charm++ by  doxygen 1.5.5