Public Member Functions | |
CkMessageReplay (FILE *f_) | |
~CkMessageReplay () | |
Private Member Functions | |
void | getNext (void) |
Read the next message we need from the file:. | |
bool | isNext (envelope *env) |
If this is the next message we need, advance and return true. | |
bool | isNext (CthThreadToken *token) |
void | flush (void) |
Try to flush out any delayed messages. | |
virtual bool | process (envelope **envptr, CkCoreState *ck) |
These are used internally by this class to call the correct subclass method. | |
virtual bool | process (CthThreadToken *token, CkCoreState *ck) |
virtual bool | process (LBMigrateMsg **msg, CkCoreState *ck) |
Private Attributes | |
int | counter |
int | nextPE |
int | nextSize |
int | nextEvent |
int | nexttype |
int | nextEP |
unsigned int | crc1 |
unsigned int | crc2 |
FILE * | lbFile |
CkQ< envelope * > | delayedMessages |
This is a (short) list of messages we aren't yet ready for:. | |
CkQ< CthThreadToken * > | delayedTokens |
This is a (short) list of tokens (i.e messages that awake user-threads) we aren't yet ready for:. |
Definition at line 2697 of file ck.C.
CkMessageReplay::CkMessageReplay | ( | FILE * | f_ | ) | [inline] |
Definition at line 2822 of file ck.C.
References CkMessageReplayQuiescence(), Converse::CkMyPe(), CmiStartQD(), and CkMessageWatcher::f.
CkMessageReplay::~CkMessageReplay | ( | ) | [inline] |
void CkMessageReplay::getNext | ( | void | ) | [inline, private] |
Read the next message we need from the file:.
Definition at line 2704 of file ck.C.
References CkMessageWatcher::f.
If this is the next message we need, advance and return true.
Definition at line 2729 of file ck.C.
References checksum_initial(), Converse::CkMyPe(), CkPackMessage(), CkUnpackMessage(), crc32_initial(), envelope::getEpIdx(), envelope::getEvent(), envelope::getSrcPe(), envelope::getTotalsize(), and envelope::isPacked().
bool CkMessageReplay::isNext | ( | CthThreadToken * | token | ) | [inline, private] |
Definition at line 2773 of file ck.C.
References Converse::CkMyPe(), and CthThreadToken::serialNo.
void CkMessageReplay::flush | ( | void | ) | [inline, private] |
Try to flush out any delayed messages.
Definition at line 2784 of file ck.C.
References CthEnqueueBigSimThread(), envelope::getEpIdx(), envelope::getEvent(), envelope::getSrcPe(), envelope::getTotalsize(), len, and CthThreadToken::serialNo.
virtual bool CkMessageReplay::process | ( | envelope ** | env, | |
CkCoreState * | ck | |||
) | [inline, private, virtual] |
These are used internally by this class to call the correct subclass method.
Implements CkMessageWatcher.
Definition at line 2834 of file ck.C.
References BGConverse::CkMyNode(), BGConverse::CkMyNodeSize(), Converse::CkMyPe(), BGConverse::CkNodeFirst(), CkPackMessage(), CkUnpackMessage(), Converse::CmiSyncSendAndFree(), ForNodeBocMsg, envelope::getEpIdx(), envelope::getEvent(), envelope::getMsgIdx(), envelope::getMsgtype(), envelope::getSrcPe(), envelope::getTotalsize(), and NodeBocInitMsg.
virtual bool CkMessageReplay::process | ( | CthThreadToken * | token, | |
CkCoreState * | ck | |||
) | [inline, private, virtual] |
Reimplemented from CkMessageWatcher.
Definition at line 2867 of file ck.C.
References CthThreadToken::serialNo.
virtual bool CkMessageReplay::process | ( | LBMigrateMsg ** | msg, | |
CkCoreState * | ck | |||
) | [inline, private, virtual] |
Reimplemented from CkMessageWatcher.
Definition at line 2882 of file ck.C.
References Converse::CkNumPes(), openReplayFile(), p, and LBMigrateMsg::pup().
int CkMessageReplay::counter [private] |
int CkMessageReplay::nextPE [private] |
int CkMessageReplay::nextSize [private] |
int CkMessageReplay::nextEvent [private] |
int CkMessageReplay::nexttype [private] |
int CkMessageReplay::nextEP [private] |
unsigned int CkMessageReplay::crc1 [private] |
unsigned int CkMessageReplay::crc2 [private] |
FILE* CkMessageReplay::lbFile [private] |
CkQ<envelope *> CkMessageReplay::delayedMessages [private] |
CkQ<CthThreadToken *> CkMessageReplay::delayedTokens [private] |