#ifndef COMM_BUFFER_HPP #define COMM_BUFFER_HPP #include #include #include "../datastructures/Body.hpp" namespace nbody { using namespace std; class MpiBodyComm { protected: MPI_Datatype* datatype; MPI_Request request; vector buffer; public: MpiBodyComm(MPI_Datatype* bodyDatatype); virtual ~MpiBodyComm(); virtual void cleanup(); virtual void sendBlocking(int target, vector bodies); virtual void recvBlocking(int source, vector& bodies); virtual bool sendUnblocking(int target, vector bodies); virtual bool recvUnblocking(int source, vector& bodies); }; } #endif