
#include <cklocation.h>


Public Types | |
| enum | RecType { base = 0, local, remote, buffering, dead } |
| Return the type of this ArrayRec:. More... | |
Public Member Functions | |
| CkLocRec (CkLocMgr *mgr) | |
| virtual | ~CkLocRec () |
| CkLocMgr * | getLocMgr (void) const |
| virtual RecType | type (void)=0 |
| virtual CmiBool | deliver (CkArrayMessage *m, CkDeliver_t type, int opts=0)=0 |
| Accept a message for this element. | |
| virtual void | beenReplaced (void) |
| This is called when this ArrayRec is about to be replaced. | |
| virtual CmiBool | isObsolete (int nSprings, const CkArrayIndex &idx)=0 |
| Return if this rec is now obsolete. | |
| virtual CkMigratable * | lookupElement (CkArrayID aid) |
| Return the represented array element; or NULL if there is none. | |
| virtual int | lookupProcessor (void) |
| Return the last known processor; or -1 if none. | |
Protected Member Functions | |
| virtual void | weAreObsolete (const CkArrayIndex &idx) |
Protected Attributes | |
| CkLocMgr * | myLocMgr |
The location manager's main hashtable maps array indices to CkLocRec *'s.
Definition at line 124 of file cklocation.h.
| enum CkLocRec::RecType |
| CkLocRec::CkLocRec | ( | CkLocMgr * | mgr | ) | [inline] |
Definition at line 131 of file cklocation.h.
| CkLocRec::~CkLocRec | ( | ) | [virtual] |
Definition at line 1246 of file cklocation.C.
| void CkLocRec::weAreObsolete | ( | const CkArrayIndex & | idx | ) | [protected, virtual] |
Definition at line 1245 of file cklocation.C.
| CkLocMgr* CkLocRec::getLocMgr | ( | void | ) | const [inline] |
Definition at line 133 of file cklocation.h.
References myLocMgr.
Referenced by CkEmmigrateElement(), and CkLocMgr::immigrate().
| virtual RecType CkLocRec::type | ( | void | ) | [pure virtual] |
Implemented in CkLocRec_dead, CkLocRec_remote, CkLocRec_buffering, and CkLocRec_local.
Referenced by _distributedLocationHandler(), _receiveLocationHandler(), _resendMessagesHandler(), _verifyAckRequestHandler(), CkLocMgr::flushAllRecs(), CkLocMgr::inform(), CkLocMgr::insertRec(), CkLocMgr::insertRecN(), CkLocMgr::isRemote(), CkLocMgr::iterate(), CkLocMgr::pup(), CkLocMgr::reclaimRemote(), CkLocMgr::resume(), and CkObjID::updatePosition().
| virtual CmiBool CkLocRec::deliver | ( | CkArrayMessage * | m, | |
| CkDeliver_t | type, | |||
| int | opts = 0 | |||
| ) | [pure virtual] |
Accept a message for this element.
Implemented in CkLocRec_dead, CkLocRec_remote, CkLocRec_buffering, and CkLocRec_local.
Referenced by CkArray::broadcastHomeElements(), and CkLocMgr::deliverUnknown().
| void CkLocRec::beenReplaced | ( | void | ) | [virtual] |
This is called when this ArrayRec is about to be replaced.
It is only used to deliver buffered element messages.
Reimplemented in CkLocRec_dead, and CkLocRec_buffering.
Definition at line 1247 of file cklocation.C.
Referenced by CkLocMgr::insertRec().
| virtual CmiBool CkLocRec::isObsolete | ( | int | nSprings, | |
| const CkArrayIndex & | idx | |||
| ) | [pure virtual] |
Return if this rec is now obsolete.
Implemented in CkLocRec_dead, CkLocRec_aging, CkLocRec_remote, CkLocRec_buffering, and CkLocRec_local.
Referenced by CkLocMgr::springCleaning().
| CkMigratable * CkLocRec::lookupElement | ( | CkArrayID | aid | ) | [virtual] |
Return the represented array element; or NULL if there is none.
Reimplemented in CkLocRec_local.
Definition at line 1251 of file cklocation.C.
Referenced by CkLocMgr::lookup().
| int CkLocRec::lookupProcessor | ( | void | ) | [virtual] |
Return the last known processor; or -1 if none.
Reimplemented in CkLocRec_remote, and CkLocRec_local.
Definition at line 1254 of file cklocation.C.
Referenced by CkLocMgr::isRemote(), CkLocMgr::lastKnown(), and CkLocMgr::pup().
CkLocMgr* CkLocRec::myLocMgr [protected] |
Definition at line 126 of file cklocation.h.
Referenced by CkLocRec_aging::access(), CkLocRec_buffering::beenReplaced(), CkLocRec_aging::CkLocRec_aging(), CkLocRec_local::deliver(), getLocMgr(), CkLocRec_buffering::isObsolete(), CkLocRec_remote::isObsolete(), CkLocRec_aging::isStale(), CkLocRec_local::lookupElement(), CkLocRec_local::migrateMe(), and CkLocRec_local::~CkLocRec_local().
1.5.5