![]() |
fpmas 1.6
|
#include <client_server.h>
Public Member Functions | |
virtual void | terminate (Server &server)=0 |
Generic termination algorithm.
|
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.
server | server to terminate |
Implemented in fpmas::synchro::hard::TerminationAlgorithm.