PPL Logo

MsgInfo Class Reference
[CkRegister]

Represents one type of Message. More...

#include <register.h>

Collaboration diagram for MsgInfo:

Collaboration graph
[legend]

Public Member Functions

 MsgInfo (const char *n, CkPackFnPtr p, CkUnpackFnPtr u, CkDeallocFnPtr d, int s)

Data Fields

CkPackFnPtr pack
 A message pack function converts the (possibly complex) message into a flat array of bytes.
CkUnpackFnPtr unpack
 A message unpack function converts a flat array of bytes into a living message.
CkDeallocFnPtr dealloc
 A message deallocation function deletes the message with the appropriate actions.
size_t size
 This message body's allocation size.
const char * name
 Human-readable name of message, like "CkMarshallMsg".

Detailed Description

Represents one type of Message.

It is always stored in _msgTable.

Definition at line 142 of file register.h.


Constructor & Destructor Documentation

MsgInfo::MsgInfo ( const char *  n,
CkPackFnPtr  p,
CkUnpackFnPtr  u,
CkDeallocFnPtr  d,
int  s 
) [inline]

Definition at line 178 of file register.h.


Field Documentation

A message pack function converts the (possibly complex) message into a flat array of bytes.

This method is called whenever messages are sent or duplicated, so for speed messages normally have a layout which allows this conversion to be done in-place, typically by just moving some pointers around in the message.

There was once a time when the pack function could be NULL, meaning the message can be sent without packing, but today the pack function is always set. Note: pack and unpack have nothing to do with the PUP framework.

Definition at line 157 of file register.h.

A message unpack function converts a flat array of bytes into a living message.

It's just the opposite of pack.

Definition at line 162 of file register.h.

A message deallocation function deletes the message with the appropriate actions.

Definition at line 167 of file register.h.

This message body's allocation size.

This does *not* include any dynamically allocated portion of the message, so is a lower bound on the message size.

Definition at line 173 of file register.h.

const char* MsgInfo::name

Human-readable name of message, like "CkMarshallMsg".

Definition at line 176 of file register.h.


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

Generated on Mon Sep 21 08:27:49 2020 for Charm++ by  doxygen 1.5.5