fpmas 1.6
Public Member Functions | List of all members
fpmas::synchro::hard::api::TerminationAlgorithm Class Referenceabstract

#include <client_server.h>

Inheritance diagram for fpmas::synchro::hard::api::TerminationAlgorithm:
Inheritance graph
[legend]

Public Member Functions

virtual void terminate (Server &server)=0
 

Detailed Description

Generic termination algorithm.

Member Function Documentation

◆ terminate()

virtual void fpmas::synchro::hard::api::TerminationAlgorithm::terminate ( Server server)
pure virtual

Apply the termination algorithm to the provided server.

Termination is determined when all the processes have entered this function and no more request is pending in the global process. In consequence, the argument server must still be able to respond to requests from processes that have not terminated yet while the termination algorithm is applied to ensure progress. This can be performed in practice by the termination algorithm using the Server::handleIncomingRequests() method.

Moreover, the termination algorithm must toggle the Server Epoch once termination has been detected.

Parameters
serverserver to terminate

Implemented in fpmas::synchro::hard::TerminationAlgorithm.


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