Public Member Functions | Private Member Functions | Private Attributes

LibGeoDecomp::PatchLink< GRID_TYPE >::Provider Class Reference

#include <patchlink.h>

Inherits LibGeoDecomp::PatchLink::Link, and LibGeoDecomp::PatchProvider< GRID_TYPE >.

Collaboration diagram for LibGeoDecomp::PatchLink< GRID_TYPE >::Provider:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 Provider (const Region< DIM > &region, int source, int tag, const MPI_Datatype &cellMPIDatatype, MPI_Comm communicator=MPI_COMM_WORLD)
virtual void cleanup ()
virtual void charge (const std::size_t next, const std::size_t last, const std::size_t newStride)
virtual void get (GRID_TYPE *grid, const Region< DIM > &patchableRegion, const std::size_t nanoStep, const bool remove=true)
void recv (const std::size_t nanoStep)

Private Member Functions

void recvFirstPart (APITraits::TrueType)
void recvFirstPart (APITraits::FalseType)
void recvSecondPart (APITraits::TrueType)
void recvSecondPart (APITraits::FalseType)

Private Attributes

int source
int dataSize
MPI_Datatype cellMPIDatatype
bool transmissionInFlight

template<class GRID_TYPE>
class LibGeoDecomp::PatchLink< GRID_TYPE >::Provider


Constructor & Destructor Documentation

template<class GRID_TYPE >
LibGeoDecomp::PatchLink< GRID_TYPE >::Provider::Provider ( const Region< DIM > &  region,
int  source,
int  tag,
const MPI_Datatype &  cellMPIDatatype,
MPI_Comm  communicator = MPI_COMM_WORLD 
) [inline]

Member Function Documentation

template<class GRID_TYPE >
virtual void LibGeoDecomp::PatchLink< GRID_TYPE >::Provider::charge ( const std::size_t  next,
const std::size_t  last,
const std::size_t  newStride 
) [inline, virtual]
template<class GRID_TYPE >
virtual void LibGeoDecomp::PatchLink< GRID_TYPE >::Provider::cleanup (  )  [inline, virtual]
template<class GRID_TYPE >
virtual void LibGeoDecomp::PatchLink< GRID_TYPE >::Provider::get ( GRID_TYPE *  grid,
const Region< DIM > &  patchableRegion,
const std::size_t  nanoStep,
const bool  remove = true 
) [inline, virtual]
template<class GRID_TYPE >
void LibGeoDecomp::PatchLink< GRID_TYPE >::Provider::recv ( const std::size_t  nanoStep  )  [inline]
template<class GRID_TYPE >
void LibGeoDecomp::PatchLink< GRID_TYPE >::Provider::recvFirstPart ( APITraits::TrueType   )  [inline, private]
template<class GRID_TYPE >
void LibGeoDecomp::PatchLink< GRID_TYPE >::Provider::recvFirstPart ( APITraits::FalseType   )  [inline, private]
template<class GRID_TYPE >
void LibGeoDecomp::PatchLink< GRID_TYPE >::Provider::recvSecondPart ( APITraits::FalseType   )  [inline, private]
template<class GRID_TYPE >
void LibGeoDecomp::PatchLink< GRID_TYPE >::Provider::recvSecondPart ( APITraits::TrueType   )  [inline, private]

Member Data Documentation

template<class GRID_TYPE >
MPI_Datatype LibGeoDecomp::PatchLink< GRID_TYPE >::Provider::cellMPIDatatype [private]
template<class GRID_TYPE >
int LibGeoDecomp::PatchLink< GRID_TYPE >::Provider::dataSize [private]
template<class GRID_TYPE >
int LibGeoDecomp::PatchLink< GRID_TYPE >::Provider::source [private]
template<class GRID_TYPE >
bool LibGeoDecomp::PatchLink< GRID_TYPE >::Provider::transmissionInFlight [private]

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