fpmas 1.6
Public Member Functions | List of all members
fpmas::api::synchro::SyncMode< T > Class Template Referenceabstract

#include <sync_mode.h>

Inheritance diagram for fpmas::api::synchro::SyncMode< T >:
Inheritance graph
[legend]

Public Member Functions

virtual Mutex< T > * buildMutex (api::graph::DistributedNode< T > *node)=0
 
virtual SyncLinker< T > & getSyncLinker ()=0
 
virtual DataSync< T > & getDataSync ()=0
 

Detailed Description

template<typename T>
class fpmas::api::synchro::SyncMode< T >

SyncMode API.

A synchronization mode is mainly defined by 3 components :

Member Function Documentation

◆ buildMutex()

template<typename T >
virtual Mutex< T > * fpmas::api::synchro::SyncMode< T >::buildMutex ( api::graph::DistributedNode< T > *  node)
pure virtual

Builds a Mutex associated to the specified node.

The Mutex must be built so that the Mutex::data() function returns a reference to the internal node data, i.e. api::graph::DistributedNode::data().

Notice that this function is not required to bind the built Mutex to the node, since this might be the role of the component in charge to build the node (i.e. the api::graph::DistributedGraph implementation).

Parameters
nodenode to which the built mutex will be associated

Implemented in fpmas::synchro::ghost::GhostMode< T, Mutex >, and fpmas::synchro::hard::HardSyncModeBase< T >.

◆ getSyncLinker()

template<typename T >
virtual SyncLinker< T > & fpmas::api::synchro::SyncMode< T >::getSyncLinker ( )
pure virtual

Returns a reference to the SyncLinker instance associated to this synchronization mode.

Returns
sync linker

Implemented in fpmas::synchro::ghost::GhostMode< T, Mutex >, fpmas::synchro::hard::hard_link::HardSyncMode< T >, and fpmas::synchro::hard::ghost_link::HardSyncMode< T >.

◆ getDataSync()

template<typename T >
virtual DataSync< T > & fpmas::api::synchro::SyncMode< T >::getDataSync ( )
pure virtual

Returns a reference to the DataSync instance associated to this synchronization mode.

Returns
data sync

Implemented in fpmas::synchro::ghost::GhostMode< T, Mutex >, and fpmas::synchro::hard::HardSyncModeBase< T >.


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