fpmas 1.6
Public Member Functions | List of all members
fpmas::synchro::hard::hard_link::HardSyncMode< T > Class Template Reference

#include <hard_sync_mode.h>

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

Public Member Functions

 HardSyncMode (fpmas::api::graph::DistributedGraph< T > &graph, fpmas::api::communication::MpiCommunicator &comm)
 
HardSyncLinker< T > & getSyncLinker () override
 
- Public Member Functions inherited from fpmas::synchro::hard::HardSyncModeBase< T >
 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
 
virtual Mutex< T > * buildMutex (api::graph::DistributedNode< T > *node)=0
 
virtual SyncLinker< T > & getSyncLinker ()=0
 
virtual DataSync< T > & getDataSync ()=0
 

Additional Inherited Members

- Protected Attributes inherited from fpmas::synchro::hard::HardSyncModeBase< T >
TerminationAlgorithm termination
 
MutexServer< T > mutex_server
 

Detailed Description

template<typename T>
class fpmas::synchro::hard::hard_link::HardSyncMode< T >

Hard synchronization mode implementation.

hard_link::HardSyncMode defines the strongest level of graph synchronization.

At each DISTANT node data access, the HardSyncMutex instance performs distant communication with host processes to ensure :

  1. accessed data is always up to date
  2. a strict concurrent access management at the global execution level

Moreover, link, unlink and node removal operations are committed on the fly by the hard_link::HardSyncLinker instance.

A TerminationAlgorithm is used to finalize synchronization operations.

Constructor & Destructor Documentation

◆ HardSyncMode()

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

HardSyncMode contructor.

Parameters
graphreference to managed graph
commMPI communicator

Member Function Documentation

◆ getSyncLinker()

template<typename T >
HardSyncLinker< T > & fpmas::synchro::hard::hard_link::HardSyncMode< T >::getSyncLinker ( )
inlineoverridevirtual

Returns a reference to the internal HardSyncLinker instance.

Returns
reference to the SyncLinker instance

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


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