Classes | Public Types | Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes

LibGeoDecomp::HpxWriterSinkServer< CELL_TYPE, CONVERTER > Class Template Reference

#include <hpxwritersinkserver.h>

Inherits hpx::components::managed_component_base< HpxWriterSinkServer< CELL_TYPE, CONVERTER > >.

Collaboration diagram for LibGeoDecomp::HpxWriterSinkServer< CELL_TYPE, CONVERTER >:
Collaboration graph
[legend]

List of all members.

Classes

class  RegionInfo

Public Types

typedef CONVERTER::CellType CellType
typedef
APITraits::SelectTopology
< CellType >::Value 
Topology
typedef DisplacedGrid
< CellType, Topology
GridType
typedef Region< Topology::DIMRegionType
typedef Coord< Topology::DIMCoordType
typedef std::vector< CellTypeBufferType
typedef std::map< unsigned,
std::vector< RegionInfo > > 
RegionInfoMapType
typedef std::map< unsigned,
std::size_t > 
StepCountMapType
typedef std::map< unsigned,
GridType
GridMapType
typedef std::map< std::size_t,
boost::shared_ptr
< ParallelWriter< CellType > > > 
ParallelWritersMap
typedef std::map< std::size_t,
boost::shared_ptr< Writer
< CellType > > > 
SerialWritersMap
typedef hpx::lcos::local::spinlock MutexType

Public Member Functions

 HpxWriterSinkServer ()
 HpxWriterSinkServer (std::size_t numUpdateGroups)
 HpxWriterSinkServer (boost::shared_ptr< ParallelWriter< CellType > > parallelWriter, std::size_t numUpdateGroups)
 HpxWriterSinkServer (boost::shared_ptr< Writer< CellType > > serialWriter, std::size_t numUpdateGroups)
void stepFinished (boost::shared_ptr< BufferType > buffer, const RegionType &validRegion, const CoordType &globalDimensions, unsigned step, WriterEvent event, std::size_t rank, bool lastCall)
 HPX_DEFINE_COMPONENT_ACTION_TPL (HpxWriterSinkServer, stepFinished, StepFinishedAction)
std::size_t connectParallelWriter (boost::shared_ptr< ParallelWriter< CellType > > parallelWriter)
 HPX_DEFINE_COMPONENT_ACTION_TPL (HpxWriterSinkServer, connectParallelWriter, ConnectParallelWriterAction)
std::size_t connectSerialWriter (boost::shared_ptr< Writer< CellType > > serialWriter)
 HPX_DEFINE_COMPONENT_ACTION_TPL (HpxWriterSinkServer, connectSerialWriter, ConnectSerialWriterAction)
void disconnectWriter (std::size_t id)
 HPX_DEFINE_COMPONENT_ACTION_TPL (HpxWriterSinkServer, disconnectWriter, DisconnectWriterAction)
std::size_t getNumUpdateGroups ()
 HPX_DEFINE_COMPONENT_ACTION_TPL (HpxWriterSinkServer, getNumUpdateGroups, NumUpdateGroupsAction)

Static Public Attributes

static const int DIM = Topology::DIM

Private Member Functions

std::size_t getNextId ()
void notifyWriters (GridType const &grid, unsigned step, WriterEvent event)

Private Attributes

GridMapType gridMap
ParallelWritersMap parallelWriters
SerialWritersMap serialWriters
std::size_t numUpdateGroups
StepCountMapType stepCountMap
RegionInfoMapType regionInfoMap
std::size_t nextId
std::vector< std::size_t > freeIds
MutexType mutex

template<typename CELL_TYPE, typename CONVERTER = IdentityConverter<CELL_TYPE>>
class LibGeoDecomp::HpxWriterSinkServer< CELL_TYPE, CONVERTER >


Member Typedef Documentation

template<typename CELL_TYPE , typename CONVERTER = IdentityConverter<CELL_TYPE>>
typedef std::vector<CellType> LibGeoDecomp::HpxWriterSinkServer< CELL_TYPE, CONVERTER >::BufferType
template<typename CELL_TYPE , typename CONVERTER = IdentityConverter<CELL_TYPE>>
typedef CONVERTER::CellType LibGeoDecomp::HpxWriterSinkServer< CELL_TYPE, CONVERTER >::CellType
template<typename CELL_TYPE , typename CONVERTER = IdentityConverter<CELL_TYPE>>
typedef Coord<Topology::DIM> LibGeoDecomp::HpxWriterSinkServer< CELL_TYPE, CONVERTER >::CoordType
template<typename CELL_TYPE , typename CONVERTER = IdentityConverter<CELL_TYPE>>
typedef std::map<unsigned, GridType> LibGeoDecomp::HpxWriterSinkServer< CELL_TYPE, CONVERTER >::GridMapType
template<typename CELL_TYPE , typename CONVERTER = IdentityConverter<CELL_TYPE>>
typedef DisplacedGrid<CellType, Topology> LibGeoDecomp::HpxWriterSinkServer< CELL_TYPE, CONVERTER >::GridType
template<typename CELL_TYPE , typename CONVERTER = IdentityConverter<CELL_TYPE>>
typedef hpx::lcos::local::spinlock LibGeoDecomp::HpxWriterSinkServer< CELL_TYPE, CONVERTER >::MutexType
template<typename CELL_TYPE , typename CONVERTER = IdentityConverter<CELL_TYPE>>
typedef std::map<std::size_t, boost::shared_ptr<ParallelWriter<CellType> > > LibGeoDecomp::HpxWriterSinkServer< CELL_TYPE, CONVERTER >::ParallelWritersMap
template<typename CELL_TYPE , typename CONVERTER = IdentityConverter<CELL_TYPE>>
typedef std::map<unsigned, std::vector<RegionInfo> > LibGeoDecomp::HpxWriterSinkServer< CELL_TYPE, CONVERTER >::RegionInfoMapType
template<typename CELL_TYPE , typename CONVERTER = IdentityConverter<CELL_TYPE>>
typedef Region<Topology::DIM> LibGeoDecomp::HpxWriterSinkServer< CELL_TYPE, CONVERTER >::RegionType
template<typename CELL_TYPE , typename CONVERTER = IdentityConverter<CELL_TYPE>>
typedef std::map<std::size_t, boost::shared_ptr<Writer<CellType> > > LibGeoDecomp::HpxWriterSinkServer< CELL_TYPE, CONVERTER >::SerialWritersMap
template<typename CELL_TYPE , typename CONVERTER = IdentityConverter<CELL_TYPE>>
typedef std::map<unsigned, std::size_t> LibGeoDecomp::HpxWriterSinkServer< CELL_TYPE, CONVERTER >::StepCountMapType
template<typename CELL_TYPE , typename CONVERTER = IdentityConverter<CELL_TYPE>>
typedef APITraits::SelectTopology<CellType>::Value LibGeoDecomp::HpxWriterSinkServer< CELL_TYPE, CONVERTER >::Topology

Constructor & Destructor Documentation

template<typename CELL_TYPE , typename CONVERTER = IdentityConverter<CELL_TYPE>>
LibGeoDecomp::HpxWriterSinkServer< CELL_TYPE, CONVERTER >::HpxWriterSinkServer (  )  [inline]
template<typename CELL_TYPE , typename CONVERTER = IdentityConverter<CELL_TYPE>>
LibGeoDecomp::HpxWriterSinkServer< CELL_TYPE, CONVERTER >::HpxWriterSinkServer ( std::size_t  numUpdateGroups  )  [inline]
template<typename CELL_TYPE , typename CONVERTER = IdentityConverter<CELL_TYPE>>
LibGeoDecomp::HpxWriterSinkServer< CELL_TYPE, CONVERTER >::HpxWriterSinkServer ( boost::shared_ptr< ParallelWriter< CellType > >  parallelWriter,
std::size_t  numUpdateGroups 
) [inline]
template<typename CELL_TYPE , typename CONVERTER = IdentityConverter<CELL_TYPE>>
LibGeoDecomp::HpxWriterSinkServer< CELL_TYPE, CONVERTER >::HpxWriterSinkServer ( boost::shared_ptr< Writer< CellType > >  serialWriter,
std::size_t  numUpdateGroups 
) [inline]

Member Function Documentation

template<typename CELL_TYPE , typename CONVERTER = IdentityConverter<CELL_TYPE>>
std::size_t LibGeoDecomp::HpxWriterSinkServer< CELL_TYPE, CONVERTER >::connectParallelWriter ( boost::shared_ptr< ParallelWriter< CellType > >  parallelWriter  )  [inline]
template<typename CELL_TYPE , typename CONVERTER = IdentityConverter<CELL_TYPE>>
std::size_t LibGeoDecomp::HpxWriterSinkServer< CELL_TYPE, CONVERTER >::connectSerialWriter ( boost::shared_ptr< Writer< CellType > >  serialWriter  )  [inline]
template<typename CELL_TYPE , typename CONVERTER = IdentityConverter<CELL_TYPE>>
void LibGeoDecomp::HpxWriterSinkServer< CELL_TYPE, CONVERTER >::disconnectWriter ( std::size_t  id  )  [inline]
template<typename CELL_TYPE , typename CONVERTER = IdentityConverter<CELL_TYPE>>
std::size_t LibGeoDecomp::HpxWriterSinkServer< CELL_TYPE, CONVERTER >::getNextId (  )  [inline, private]
template<typename CELL_TYPE , typename CONVERTER = IdentityConverter<CELL_TYPE>>
std::size_t LibGeoDecomp::HpxWriterSinkServer< CELL_TYPE, CONVERTER >::getNumUpdateGroups (  )  [inline]
template<typename CELL_TYPE , typename CONVERTER = IdentityConverter<CELL_TYPE>>
LibGeoDecomp::HpxWriterSinkServer< CELL_TYPE, CONVERTER >::HPX_DEFINE_COMPONENT_ACTION_TPL ( HpxWriterSinkServer< CELL_TYPE, CONVERTER >  ,
disconnectWriter  ,
DisconnectWriterAction   
)
template<typename CELL_TYPE , typename CONVERTER = IdentityConverter<CELL_TYPE>>
LibGeoDecomp::HpxWriterSinkServer< CELL_TYPE, CONVERTER >::HPX_DEFINE_COMPONENT_ACTION_TPL ( HpxWriterSinkServer< CELL_TYPE, CONVERTER >  ,
stepFinished  ,
StepFinishedAction   
)
template<typename CELL_TYPE , typename CONVERTER = IdentityConverter<CELL_TYPE>>
LibGeoDecomp::HpxWriterSinkServer< CELL_TYPE, CONVERTER >::HPX_DEFINE_COMPONENT_ACTION_TPL ( HpxWriterSinkServer< CELL_TYPE, CONVERTER >  ,
connectSerialWriter  ,
ConnectSerialWriterAction   
)
template<typename CELL_TYPE , typename CONVERTER = IdentityConverter<CELL_TYPE>>
LibGeoDecomp::HpxWriterSinkServer< CELL_TYPE, CONVERTER >::HPX_DEFINE_COMPONENT_ACTION_TPL ( HpxWriterSinkServer< CELL_TYPE, CONVERTER >  ,
getNumUpdateGroups  ,
NumUpdateGroupsAction   
)
template<typename CELL_TYPE , typename CONVERTER = IdentityConverter<CELL_TYPE>>
LibGeoDecomp::HpxWriterSinkServer< CELL_TYPE, CONVERTER >::HPX_DEFINE_COMPONENT_ACTION_TPL ( HpxWriterSinkServer< CELL_TYPE, CONVERTER >  ,
connectParallelWriter  ,
ConnectParallelWriterAction   
)
template<typename CELL_TYPE , typename CONVERTER = IdentityConverter<CELL_TYPE>>
void LibGeoDecomp::HpxWriterSinkServer< CELL_TYPE, CONVERTER >::notifyWriters ( GridType const &  grid,
unsigned  step,
WriterEvent  event 
) [inline, private]
template<typename CELL_TYPE , typename CONVERTER = IdentityConverter<CELL_TYPE>>
void LibGeoDecomp::HpxWriterSinkServer< CELL_TYPE, CONVERTER >::stepFinished ( boost::shared_ptr< BufferType buffer,
const RegionType validRegion,
const CoordType globalDimensions,
unsigned  step,
WriterEvent  event,
std::size_t  rank,
bool  lastCall 
) [inline]

Member Data Documentation

template<typename CELL_TYPE , typename CONVERTER = IdentityConverter<CELL_TYPE>>
const int LibGeoDecomp::HpxWriterSinkServer< CELL_TYPE, CONVERTER >::DIM = Topology::DIM [static]
template<typename CELL_TYPE , typename CONVERTER = IdentityConverter<CELL_TYPE>>
std::vector<std::size_t> LibGeoDecomp::HpxWriterSinkServer< CELL_TYPE, CONVERTER >::freeIds [private]
template<typename CELL_TYPE , typename CONVERTER = IdentityConverter<CELL_TYPE>>
GridMapType LibGeoDecomp::HpxWriterSinkServer< CELL_TYPE, CONVERTER >::gridMap [private]
template<typename CELL_TYPE , typename CONVERTER = IdentityConverter<CELL_TYPE>>
MutexType LibGeoDecomp::HpxWriterSinkServer< CELL_TYPE, CONVERTER >::mutex [private]
template<typename CELL_TYPE , typename CONVERTER = IdentityConverter<CELL_TYPE>>
std::size_t LibGeoDecomp::HpxWriterSinkServer< CELL_TYPE, CONVERTER >::nextId [private]
template<typename CELL_TYPE , typename CONVERTER = IdentityConverter<CELL_TYPE>>
std::size_t LibGeoDecomp::HpxWriterSinkServer< CELL_TYPE, CONVERTER >::numUpdateGroups [private]
template<typename CELL_TYPE , typename CONVERTER = IdentityConverter<CELL_TYPE>>
ParallelWritersMap LibGeoDecomp::HpxWriterSinkServer< CELL_TYPE, CONVERTER >::parallelWriters [private]
template<typename CELL_TYPE , typename CONVERTER = IdentityConverter<CELL_TYPE>>
RegionInfoMapType LibGeoDecomp::HpxWriterSinkServer< CELL_TYPE, CONVERTER >::regionInfoMap [private]
template<typename CELL_TYPE , typename CONVERTER = IdentityConverter<CELL_TYPE>>
SerialWritersMap LibGeoDecomp::HpxWriterSinkServer< CELL_TYPE, CONVERTER >::serialWriters [private]
template<typename CELL_TYPE , typename CONVERTER = IdentityConverter<CELL_TYPE>>
StepCountMapType LibGeoDecomp::HpxWriterSinkServer< CELL_TYPE, CONVERTER >::stepCountMap [private]

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