fpmas 1.6
Public Member Functions | Protected Attributes | List of all members
fpmas::synchro::hard::HardSyncModeBase< T > Class Template Reference

#include <hard_sync_mode.h>

Inheritance diagram for fpmas::synchro::hard::HardSyncModeBase< T >:
Inheritance graph
[legend]
Collaboration diagram for fpmas::synchro::hard::HardSyncModeBase< T >:
Collaboration graph
[legend]

Public Member Functions

 HardSyncModeBase (fpmas::api::graph::DistributedGraph< T > &graph, fpmas::api::communication::MpiCommunicator &comm, ServerPackBase &server_pack)
 
HardSyncMutex< T > * buildMutex (fpmas::api::graph::DistributedNode< T > *node) override
 
HardDataSync< T > & getDataSync () override
 
- Public Member Functions inherited from fpmas::api::synchro::SyncMode< T >
virtual Mutex< T > * buildMutex (api::graph::DistributedNode< T > *node)=0
 
virtual SyncLinker< T > & getSyncLinker ()=0
 
virtual DataSync< T > & getDataSync ()=0
 

Protected Attributes

TerminationAlgorithm termination
 
MutexServer< T > mutex_server
 

Detailed Description

template<typename T>
class fpmas::synchro::hard::HardSyncModeBase< T >

Defines a generic HardSyncMode base, i.e. a mode where read() and acquire() operations are performed on the fly using point-to-point MPI calls, what is permitted by the HardDataSync usage.

The SyncLinker is not yet defined in this class, as link operations management can be performed on the fly or using collective communications.

See also
fpmas::synchro::hard::hard_link::HardSyncLinker
fpmas::synchro::hard::hard_link::HardSyncMode
fpmas::synchro::hard::ghost_link::HardSyncLinker
fpmas::synchro::hard::ghost_link::HardSyncMode

Constructor & Destructor Documentation

◆ HardSyncModeBase()

template<typename T >
fpmas::synchro::hard::HardSyncModeBase< T >::HardSyncModeBase ( fpmas::api::graph::DistributedGraph< T > &  graph,
fpmas::api::communication::MpiCommunicator comm,
ServerPackBase server_pack 
)
inline

HardSyncModeBase constructor.

Parameters
graphreference to managed graph
commMPI communicator
server_packthe ServerPack instance used for HardDataSync synchronization.

Member Function Documentation

◆ buildMutex()

template<typename T >
HardSyncMutex< T > * fpmas::synchro::hard::HardSyncModeBase< T >::buildMutex ( fpmas::api::graph::DistributedNode< T > *  node)
inlineoverridevirtual

Builds a new HardSyncMutex from the specified node data.

Parameters
nodenode to which the built mutex will be associated

Implements fpmas::api::synchro::SyncMode< T >.

◆ getDataSync()

template<typename T >
HardDataSync< T > & fpmas::synchro::hard::HardSyncModeBase< T >::getDataSync ( )
inlineoverridevirtual

Returns a reference to the internal HardDataSync instance.

Returns
reference to the DataSync instance

Implements fpmas::api::synchro::SyncMode< T >.

Member Data Documentation

◆ termination

template<typename T >
TerminationAlgorithm fpmas::synchro::hard::HardSyncModeBase< T >::termination
protected

A TerminationAlgorithm instance that can be used to terminate ServerPacks.

◆ mutex_server

template<typename T >
MutexServer<T> fpmas::synchro::hard::HardSyncModeBase< T >::mutex_server
protected

The MutexServer instance used by the internal HardDataSync component.


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