LCOV - code coverage report
Current view: top level - src/Communicate - Request.cpp (source / functions) Coverage Total Hit
Test: final_report.info Lines: 0.0 % 12 0
Test Date: 2025-07-10 08:04:31 Functions: 0.0 % 2 0

            Line data    Source code
       1              : //
       2              : // Class Request
       3              : //   A communication request handle for non-blocking communication.
       4              : //
       5              : #include "Communicate/Request.h"
       6              : 
       7              : namespace ippl {
       8              :     namespace mpi {
       9              : 
      10            0 :         Request::~Request() {
      11            0 :             if (request_m != MPI_REQUEST_NULL) {
      12            0 :                 this->free();
      13              :             }
      14            0 :         }
      15              : 
      16            0 :         bool Request::completed() {
      17            0 :             int flag = 0;
      18              : 
      19            0 :             Status status;
      20              : 
      21              :             // MPI_STATUS_IGNORE
      22            0 :             MPI_Request_get_status(request_m, &flag, status);
      23              : 
      24            0 :             if (flag != 0) {
      25              :                 // valid Status instance
      26            0 :                 MPI_Test(&request_m, &flag, status);
      27              :             } else {
      28              :                 // Although we free the request, any ongoing communication
      29              :                 // associated with this request is allowed to complete.
      30            0 :                 this->free();
      31              :             }
      32              : 
      33            0 :             return (flag != 0);
      34              :         }
      35              :     }  // namespace mpi
      36              : }  // namespace ippl
        

Generated by: LCOV version 2.0-1