Newer
Older
#ifndef COMM_BUFFER_HPP
#define COMM_BUFFER_HPP
#include <mpi.h>
#include <vector>
#include "../datastructures/Body.hpp"
namespace nbody {
using namespace std;
class MpiBodyComm {
protected:
public:
MpiBodyComm();
virtual ~MpiBodyComm();
virtual void testing(vector<Body>& data, int myRank);
virtual void sendBlocking(int target, vector<Body> bodies);
virtual void recvBlocking(int source, vector<Body>& bodies);
//virtual bool sendUnblocking(int target, vector<Body> bodies);
virtual bool sendBlocking(int target, vector<Body> bodies);
virtual bool sendUnblocking(int target, vector<Body> bodies);
virtual void recvBlocking(int source, vector<Body>& bodies);
virtual bool recvUnblocking(int source, vector<Body>& bodies);
virtual void recvBlockingAnySource(int& source, vector<Body>& bodies);
virtual bool recvUnblockingAnySource(int& source, vector<Body>& bodies);
virtual bool sendReady();
virtual bool recvReady(int source);
virtual void testing(vector<Body>& data, int myRank);