PPL Logo

CkDelegateMgr Class Reference

Message delegation support, where you send a message via a proxy normally, but the message ends up routed via this special delegateMgr group. More...

#include <charm++.h>

Inheritance diagram for CkDelegateMgr:

Inheritance graph
[legend]
Collaboration diagram for CkDelegateMgr:

Collaboration graph
[legend]

Public Member Functions

virtual ~CkDelegateMgr ()
virtual void ChareSend (CkDelegateData *pd, int ep, void *m, const CkChareID *c, int onPE)
virtual void GroupSend (CkDelegateData *pd, int ep, void *m, int onPE, CkGroupID g)
virtual void GroupBroadcast (CkDelegateData *pd, int ep, void *m, CkGroupID g)
virtual void GroupSectionSend (CkDelegateData *pd, int ep, void *m, int nsid, CkSectionID *s)
virtual void NodeGroupSend (CkDelegateData *pd, int ep, void *m, int onNode, CkNodeGroupID g)
virtual void NodeGroupBroadcast (CkDelegateData *pd, int ep, void *m, CkNodeGroupID g)
virtual void NodeGroupSectionSend (CkDelegateData *pd, int ep, void *m, int nsid, CkSectionID *s)
virtual void ArrayCreate (CkDelegateData *pd, int ep, void *m, const CkArrayIndex &idx, int onPE, CkArrayID a)
virtual void ArraySend (CkDelegateData *pd, int ep, void *m, const CkArrayIndex &idx, CkArrayID a)
virtual void ArrayBroadcast (CkDelegateData *pd, int ep, void *m, CkArrayID a)
virtual void ArraySectionSend (CkDelegateData *pd, int ep, void *m, int nsid, CkSectionID *s, int opts)
virtual void initDelegateMgr (CProxy *proxy, int opts=0)
virtual CkDelegateDatackCopyDelegateData (CkDelegateData *data)
virtual CkDelegateDataDelegatePointerPup (PUP::er &p, CkDelegateData *pd)
 Management of per-proxy data: pup this delegate's data.

Detailed Description

Message delegation support, where you send a message via a proxy normally, but the message ends up routed via this special delegateMgr group.

An "interface" class-- all delegated messages are routed via this class. The default action is to deliver the message directly.

Definition at line 646 of file charm++.h.


Constructor & Destructor Documentation

CkDelegateMgr::~CkDelegateMgr (  )  [virtual]

Definition at line 249 of file ck.C.


Member Function Documentation

void CkDelegateMgr::ChareSend ( CkDelegateData pd,
int  ep,
void *  m,
const CkChareID c,
int  onPE 
) [virtual]

Definition at line 252 of file ck.C.

References CkSendMsg().

Here is the call graph for this function:

void CkDelegateMgr::GroupSend ( CkDelegateData pd,
int  ep,
void *  m,
int  onPE,
CkGroupID  g 
) [virtual]

Definition at line 254 of file ck.C.

References CkSendMsgBranch().

Referenced by CkMulticastMgr::sendToLocal().

Here is the call graph for this function:

Here is the caller graph for this function:

void CkDelegateMgr::GroupBroadcast ( CkDelegateData pd,
int  ep,
void *  m,
CkGroupID  g 
) [virtual]

Definition at line 256 of file ck.C.

References CkBroadcastMsgBranch().

Here is the call graph for this function:

void CkDelegateMgr::GroupSectionSend ( CkDelegateData pd,
int  ep,
void *  m,
int  nsid,
CkSectionID s 
) [virtual]

Reimplemented in CkMulticastMgr.

Definition at line 258 of file ck.C.

References CkSectionID::_cookie, CkSendMsgBranchMulti(), CkSectionInfo::get_aid(), and CkSectionID::pelist.

Here is the call graph for this function:

void CkDelegateMgr::NodeGroupSend ( CkDelegateData pd,
int  ep,
void *  m,
int  onNode,
CkNodeGroupID  g 
) [virtual]

Definition at line 260 of file ck.C.

References CkSendMsgNodeBranch().

Here is the call graph for this function:

void CkDelegateMgr::NodeGroupBroadcast ( CkDelegateData pd,
int  ep,
void *  m,
CkNodeGroupID  g 
) [virtual]

Definition at line 262 of file ck.C.

References CkBroadcastMsgNodeBranch().

Here is the call graph for this function:

void CkDelegateMgr::NodeGroupSectionSend ( CkDelegateData pd,
int  ep,
void *  m,
int  nsid,
CkSectionID s 
) [virtual]

Definition at line 264 of file ck.C.

References CkSectionID::_cookie, CkSendMsgNodeBranchMulti(), CkSectionInfo::get_aid(), and CkSectionID::pelist.

Here is the call graph for this function:

void CkDelegateMgr::ArrayCreate ( CkDelegateData pd,
int  ep,
void *  m,
const CkArrayIndex &  idx,
int  onPE,
CkArrayID  a 
) [virtual]

Definition at line 266 of file ck.C.

Referenced by CProxy_ArrayBase::ckInsertIdx().

Here is the caller graph for this function:

void CkDelegateMgr::ArraySend ( CkDelegateData pd,
int  ep,
void *  m,
const CkArrayIndex &  idx,
CkArrayID  a 
) [virtual]

Definition at line 271 of file ck.C.

void CkDelegateMgr::ArrayBroadcast ( CkDelegateData pd,
int  ep,
void *  m,
CkArrayID  a 
) [virtual]

Definition at line 276 of file ck.C.

References CProxy_ArrayBase::ckBroadcast().

Referenced by CProxy_ArrayBase::ckBroadcast().

Here is the call graph for this function:

Here is the caller graph for this function:

void CkDelegateMgr::ArraySectionSend ( CkDelegateData pd,
int  ep,
void *  m,
int  nsid,
CkSectionID s,
int  opts 
) [virtual]

Reimplemented in CkMulticastMgr.

Definition at line 282 of file ck.C.

References CmiAbort().

Here is the call graph for this function:

virtual void CkDelegateMgr::initDelegateMgr ( CProxy proxy,
int  opts = 0 
) [inline, virtual]

Reimplemented in CkMulticastMgr.

Definition at line 663 of file charm++.h.

Referenced by PUPmarshall().

Here is the caller graph for this function:

virtual CkDelegateData* CkDelegateMgr::ckCopyDelegateData ( CkDelegateData data  )  [inline, virtual]

Definition at line 664 of file charm++.h.

References CkDelegateData::ref().

Referenced by CProxy::CProxy(), and CProxy::operator=().

Here is the call graph for this function:

Here is the caller graph for this function:

CkDelegateData * CkDelegateMgr::DelegatePointerPup ( PUP::er p,
CkDelegateData pd 
) [virtual]

Management of per-proxy data: pup this delegate's data.

If p.isUnpacking, allocate and return a new set of delegate data. Never delete (or unref) the data-- the proxy will do that itself when it is required. The default implementation just ignores this call.

A typical implementation that uses CkDelegateData might look like this: myData *d=(myData *)pd; if (p.isUnpacking()) d=new myData(); p|d->myField1; p|d->myField2; return d;

Definition at line 294 of file ck.C.

Referenced by CProxy::pup().

Here is the caller graph for this function:


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

Generated on Mon Sep 21 08:19:56 2020 for Charm++ by  doxygen 1.5.5