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

#include <hard_sync_mode.h>

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

Public Member Functions

virtual void registerNodeToRemove (fpmas::api::graph::DistributedNode< T > *node)=0
 
- Public Member Functions inherited from fpmas::api::synchro::SyncLinker< T >
virtual void link (api::graph::DistributedEdge< T > *edge)=0
 
virtual void unlink (api::graph::DistributedEdge< T > *edge)=0
 
virtual void removeNode (api::graph::DistributedNode< T > *node)=0
 
virtual void synchronize ()=0
 

Detailed Description

template<typename T>
class fpmas::synchro::hard::api::HardSyncLinker< T >

SyncLinker API extension to handle HardSyncMode.

Member Function Documentation

◆ registerNodeToRemove()

template<typename T >
virtual void fpmas::synchro::hard::api::HardSyncLinker< T >::registerNodeToRemove ( fpmas::api::graph::DistributedNode< T > *  node)
pure virtual

Registers a local node to be removed at the next synchronize() call.

This should be called when the MutexServer receives a REMOVE_NODE request. Indeed, the node can't be erased when the request is handled since requests for this node might still be pending.

In consequence, the node can be registered to be removed using this function, and is only removed at the next synchronize() call, after the TerminationAlgorithm has been applied, when it is ensured that no more request is pending.

Parameters
nodenode to remove

Implemented in fpmas::synchro::hard::hard_link::HardSyncLinker< T >.


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