Reference documentation for deal.II version 9.5.0
|
#include <deal.II/base/mpi_consensus_algorithms.h>
Public Member Functions | |
virtual | ~Process ()=default |
virtual std::vector< unsigned int > | compute_targets ()=0 |
virtual void | create_request (const unsigned int other_rank, RequestType &send_buffer) |
virtual void | answer_request (const unsigned int other_rank, const RequestType &buffer_recv, AnswerType &request_buffer) |
virtual void | read_answer (const unsigned int other_rank, const AnswerType &recv_buffer) |
A base class for concrete implementations of classes that provide the information that the algorithms derived from the ConsensusAlgorithms::Interface base class require. The main functionality of this class is to return a list of process ranks this process wants data from and to deal with the optional payload of the messages sent/received by the ConsensusAlgorithm classes.
There are two kinds of messages:
RequestType | The type of the elements of the vector to sent. |
AnswerType | The type of the elements of the vector to received. |
Definition at line 159 of file mpi_consensus_algorithms.h.
|
virtualdefault |
Destructor. Made virtual
to ensure that one can work with derived classes.
|
pure virtual |
Implemented in Utilities::MPI::internal::ComputeIndexOwner::ConsensusAlgorithmsPayload, and Utilities::MPI::ConsensusAlgorithms::AnonymousProcess< RequestType, AnswerType >.
|
virtual |
Add a payload to the request to the process with the specified rank.
[in] | other_rank | Rank of the process. |
[out] | send_buffer | data to be sent part of the request (optional). |
Reimplemented in Utilities::MPI::ConsensusAlgorithms::AnonymousProcess< RequestType, AnswerType >, and Utilities::MPI::internal::ComputeIndexOwner::ConsensusAlgorithmsPayload.
|
virtual |
Prepare the buffer where the payload of the answer of the request to the process with the specified rank is saved in.
[in] | other_rank | Rank of the process. |
[in] | buffer_recv | Received payload (optional). |
[out] | request_buffer | Payload to be sent as part of the request (optional). |
Reimplemented in Utilities::MPI::ConsensusAlgorithms::AnonymousProcess< RequestType, AnswerType >, and Utilities::MPI::internal::ComputeIndexOwner::ConsensusAlgorithmsPayload.
|
virtual |
Process the payload of the answer of the request to the process with the specified rank.
[in] | other_rank | rank of the process |
[in] | recv_buffer | data to be sent part of the request (optional) |
Reimplemented in Utilities::MPI::ConsensusAlgorithms::AnonymousProcess< RequestType, AnswerType >, and Utilities::MPI::internal::ComputeIndexOwner::ConsensusAlgorithmsPayload.