![]() |
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 >.