PPL Logo

threadCollide Class Reference

Threaded collision client array--provides interface between threadCollideMgr and API routines. More...

Inheritance diagram for threadCollide:

Inheritance graph
[legend]
Collaboration diagram for threadCollide:

Collaboration graph
[legend]

Public Member Functions

 threadCollide (const CProxy_TCharm &threads, const CProxy_threadCollideMgr &mgr_, const CollideHandle &collide_)
 threadCollide (CkMigrateMessage *m)
void arriving (void)
void pup (PUP::er &p)
 Pack/unpack routine (called before and after migration).
void ckJustMigrated (void)
void leaving (void)
 ~threadCollide ()
const CkArrayIDgetArrayID (void) const
void contribute (int n, const bbox3d *boxes, const int *prio)
 Contribute to Collision and suspend the caller.
void resultsDone (void)
 No more collisions will arrive this step.

Data Fields

growableBufferT< Collisioncolls

Protected Member Functions

virtual void setupThreadPrivate (CthThread th)

Private Types

typedef TCharmClient1D super

Private Attributes

CollideHandle collide
CProxy_threadCollideMgr mgr

Detailed Description

Threaded collision client array--provides interface between threadCollideMgr and API routines.

Definition at line 99 of file threadCollide.C.


Member Typedef Documentation

Definition at line 100 of file threadCollide.C.


Constructor & Destructor Documentation

threadCollide::threadCollide ( const CProxy_TCharm &  threads,
const CProxy_threadCollideMgr &  mgr_,
const CollideHandle collide_ 
) [inline]

Wake up the blocked thread in COLLIDE_Init

Definition at line 110 of file threadCollide.C.

References arriving(), TCharm::semaPut(), and TCharmClient1D::thread.

Here is the call graph for this function:

threadCollide::threadCollide ( CkMigrateMessage m  )  [inline]

Definition at line 119 of file threadCollide.C.

threadCollide::~threadCollide (  )  [inline]

Definition at line 138 of file threadCollide.C.

References leaving().

Here is the call graph for this function:


Member Function Documentation

virtual void threadCollide::setupThreadPrivate ( CthThread  th  )  [inline, protected, virtual]

Implements TCharmClient1D.

Definition at line 106 of file threadCollide.C.

void threadCollide::arriving ( void   )  [inline]

Definition at line 121 of file threadCollide.C.

References collide, CollideRegister(), mgr, and ArrayElementT< CkIndex1D >::thisIndex.

Referenced by ckJustMigrated(), and threadCollide().

Here is the call graph for this function:

Here is the caller graph for this function:

void threadCollide::pup ( PUP::er p  )  [inline, virtual]

Pack/unpack routine (called before and after migration).

Reimplemented from TCharmClient1D.

Definition at line 125 of file threadCollide.C.

References collide, mgr, and PUP::pup().

Here is the call graph for this function:

void threadCollide::ckJustMigrated ( void   )  [inline, virtual]

Reimplemented from TCharmClient1D.

Definition at line 130 of file threadCollide.C.

References arriving(), and TCharmClient1D::ckJustMigrated().

Here is the call graph for this function:

void threadCollide::leaving ( void   )  [inline]

Definition at line 134 of file threadCollide.C.

References collide, CollideUnregister(), mgr, and ArrayElementT< CkIndex1D >::thisIndex.

Referenced by ~threadCollide().

Here is the call graph for this function:

Here is the caller graph for this function:

const CkArrayID& threadCollide::getArrayID ( void   )  const [inline]

Definition at line 141 of file threadCollide.C.

References ArrayElement::thisArrayID.

Referenced by COLLIDE_Init().

Here is the caller graph for this function:

void threadCollide::contribute ( int  n,
const bbox3d boxes,
const int prio 
) [inline]

Contribute to Collision and suspend the caller.

Definition at line 145 of file threadCollide.C.

References collide, CollideBoxesPrio(), TCharm::suspend(), ArrayElementT< CkIndex1D >::thisIndex, and TCharmClient1D::thread.

Here is the call graph for this function:

void threadCollide::resultsDone ( void   )  [inline]

No more collisions will arrive this step.

Definition at line 152 of file threadCollide.C.

References TCharm::resume(), and TCharmClient1D::thread.

Here is the call graph for this function:


Field Documentation

Definition at line 102 of file threadCollide.C.

Referenced by arriving(), contribute(), leaving(), and pup().

CProxy_threadCollideMgr threadCollide::mgr [private]

Definition at line 104 of file threadCollide.C.

Referenced by arriving(), leaving(), and pup().

Definition at line 108 of file threadCollide.C.

Referenced by threadCollideMgr::sift().


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

Generated on Mon Sep 21 08:30:45 2020 for Charm++ by  doxygen 1.5.5