10 #include "Tpetra_Details_DistributorActor.hpp"
12 namespace Tpetra::Details {
14 DistributorActor::DistributorActor()
15 : mpiTag_(DEFAULT_MPI_TAG) {}
17 void DistributorActor::doWaits(
const DistributorPlan& plan) {
22 void DistributorActor::doWaitsRecv(
const DistributorPlan& plan) {
23 if (requestsRecv_.size() > 0) {
24 ProfilingRegion wr(
"Tpetra::Distributor::doWaitsRecv");
26 Teuchos::waitAll(*plan.getComm(), requestsRecv_());
30 requestsRecv_.resize(0);
34 void DistributorActor::doWaitsSend(
const DistributorPlan& plan) {
35 if (requestsSend_.size() > 0) {
36 ProfilingRegion ws(
"Tpetra::Distributor::doWaitsSend");
38 Teuchos::waitAll(*plan.getComm(), requestsSend_());
42 requestsSend_.resize(0);
46 bool DistributorActor::isReady()
const {
48 for (
auto& request : requestsRecv_) {
49 result &= request->isReady();
51 for (
auto& request : requestsSend_) {
52 result &= request->isReady();