
#include <register.h>

Public Member Functions | |
| EntryInfo (const char *n, CkCallFnPtr c, int m, int ci) | |
Data Fields | |
| const char * | name |
| Human-readable name of entry method, including parameters. | |
| CkCallFnPtr | call |
| A "call function" is how Charm++ actually invokes an entry method on an object. | |
| int | msgIdx |
| Our parameters' index into the _msgTable. | |
| int | chareIdx |
| Our chare's index into the _chareTable. | |
| CmiBool | traceEnabled |
| Charm++ Tracing enabled for this ep (can change dynamically). | |
| CmiBool | noKeep |
| Method doesn't keep (and delete) message passed in to it. | |
| CmiBool | inCharm |
| true if this EP is charm internal functions | |
| CmiBool | isMemCritical |
| true if this EP is used to be rescheduled when adjusting memory usage | |
| CkMarshallUnpackFn | marshallUnpack |
| A "marshall unpack" function: 1. | |
| CkMessagePupFn | messagePup |
| A "message pup" function pups the message accepted by this entry point. | |
EntryInfo's are always stored in the _entryTable, and can be referred to across processors by their index into the _entryTable--this is the entry point's index, often abbreviated "epIdx".
Although this class is always created via a clean, well-defined API (the CkRegister* routines in charm.h); access to these classes is completely direct-- the ck.C routines just access, e.g., _entryTable[epIdx]->chareIdx.
Definition at line 22 of file register.h.
| EntryInfo::EntryInfo | ( | const char * | n, | |
| CkCallFnPtr | c, | |||
| int | m, | |||
| int | ci | |||
| ) | [inline] |
Definition at line 88 of file register.h.
References CmiFalse, CmiTrue, inCharm, noKeep, and traceEnabled.
| const char* EntryInfo::name |
Human-readable name of entry method, including parameters.
Definition at line 25 of file register.h.
Referenced by _call_freeze_on_break_point(), CkPrintEntryMethod(), CpdRemoveAllBreakPoints(), and CpdRemoveBreakPoint().
A "call function" is how Charm++ actually invokes an entry method on an object.
Call functions take two parameters: 1.) The message to pass to the method. This may be a regular message, a CkMarshallMsg for a parameter-marshalled method, or a "SysMsg" for a void method. For migration constructors, the "message" might even be NULL. 2.) The object to invoke the method on. Call functions are always generated by the translator.
A simple call function to invoke a method foo::bar(fooMsg *) might look like this:
extern "C" void __call_foo_bar(void *msg,void *obj) {
fooMsg *m=(fooMsg *)msg;
foo *f=(foo *)obj;
f->bar(m);
}
Call functions are even used to invoke constructors on new Chares.
Definition at line 50 of file register.h.
Referenced by _call_freeze_on_break_point(), CpdContinueFromBreakPoint(), CpdDeliverSingleMessage(), CpdRemoveAllBreakPoints(), and CpdRemoveBreakPoint().
Our parameters' index into the _msgTable.
Definition at line 52 of file register.h.
Referenced by CpdRemoveAllBreakPoints(), CpdRemoveBreakPoint(), and CpdSetBreakPoint().
Our chare's index into the _chareTable.
Definition at line 54 of file register.h.
Referenced by CkPrintEntryMethod().
Charm++ Tracing enabled for this ep (can change dynamically).
Definition at line 56 of file register.h.
Referenced by CkRegisterEp(), and EntryInfo().
Method doesn't keep (and delete) message passed in to it.
Definition at line 58 of file register.h.
Referenced by CkRegisterEp(), and EntryInfo().
true if this EP is charm internal functions
Definition at line 60 of file register.h.
Referenced by CkRegisterEp(), and EntryInfo().
true if this EP is used to be rescheduled when adjusting memory usage
Definition at line 64 of file register.h.
Referenced by CkRegisterEp().
A "marshall unpack" function: 1.
) Pups method parameters out of the buffer passed in to it. 2.) Calls a method on the object passed in. 3.) Returns the number of bytes of the buffer consumed. It can be used for very efficient delivery of a whole set of combined messages.
Definition at line 74 of file register.h.
A "message pup" function pups the message accepted by this entry point.
This is *only* used to display the message in the debugger, not for normal communication.
This is registered with the entry point (not the message) because many entry points take the same message type but store different data in it, like parameter marshalled messages.
Definition at line 86 of file register.h.
1.5.5