![]() |
fpmas 1.6
|
#include <mutex_client.h>


Public Member Functions | |
| MutexClient (MpiCommunicator &comm, IdMpi &id_mpi, DataMpi &data_mpi, DataUpdateMpi &data_update_mpi, ServerPackBase &server_pack) | |
| T | read (DistributedId, int location) override |
| void | releaseRead (DistributedId, int location) override |
| T | acquire (DistributedId, int location) override |
| void | releaseAcquire (DistributedId, const T &updated_data, int location) override |
| void | lock (DistributedId, int location) override |
| void | unlock (DistributedId, int location) override |
| void | lockShared (DistributedId, int location) override |
| void | unlockShared (DistributedId, int location) override |
| virtual T | read (DistributedId id, int location)=0 |
| virtual void | releaseRead (DistributedId id, int location)=0 |
| virtual T | acquire (DistributedId id, int location)=0 |
| virtual void | releaseAcquire (DistributedId id, const T &updated_data, int location)=0 |
| virtual void | lock (DistributedId id, int location)=0 |
| virtual void | unlock (DistributedId id, int location)=0 |
| virtual void | lockShared (DistributedId id, int location)=0 |
| virtual void | unlockShared (DistributedId id, int location)=0 |
api::MutexClient implementation.
|
inline |
MutexClient constructor.
| comm | MPI communicator |
| id_mpi | IdMpi instance |
| data_mpi | DataMpi instance |
| data_update_mpi | DataUpdateMpi instance |
| server_pack | associated server pack |
|
overridevirtual |
Transmits a READ request of node id to its location.
| id | of the node to read |
| location | rank of the process that own node id |
Implements fpmas::synchro::hard::api::MutexClient< T >.
|
overridevirtual |
Transmits a RELEASE_READ request of node id to its location.
| id | of the read node |
| location | rank of the process that own node id |
Implements fpmas::synchro::hard::api::MutexClient< T >.
|
overridevirtual |
Transmits an ACQUIRE request of node id to its location.
| id | of the node to acquire |
| location | rank of the process that own node id |
Implements fpmas::synchro::hard::api::MutexClient< T >.
|
overridevirtual |
Transmits a RELEASE_ACQUIRE request of node id to its location.
The provided updated_data is serialized and transmitted to commit write operation to the owner process.
| id | of the acquired node |
| updated_data | reference to the locally updated data |
| location | rank of the process that own node id |
Implements fpmas::synchro::hard::api::MutexClient< T >.
|
overridevirtual |
Transmits a LOCK request of node id to its location.
| id | of the node to lock |
| location | rank of the process that own node id |
Implements fpmas::synchro::hard::api::MutexClient< T >.
|
overridevirtual |
Transmits an UNLOCK request of node id to its location.
| id | of the locked node |
| location | rank of the process that own node id |
Implements fpmas::synchro::hard::api::MutexClient< T >.
|
overridevirtual |
Transmits a LOCK_SHARED request of node id to its location.
| id | of the node to share lock |
| location | rank of the process that own node id |
Implements fpmas::synchro::hard::api::MutexClient< T >.
|
overridevirtual |
Transmits an UNLOCK_SHARED request of node id to its location.
| id | of the share locked node |
| location | rank of the process that own node id |
Implements fpmas::synchro::hard::api::MutexClient< T >.