Gadget
slavecommunication.h
Go to the documentation of this file.
1 #ifndef slavecommunication_h
2 #define slavecommunication_h
3 
4 #include "mpi.h"
5 #include "netdata.h"
6 #include "pvmconstants.h"
7 #include "doublevector.h"
8 #include "parametervector.h"
9 
10 // AJ, 07.09.99
17 private:
18  int MAXWAIT;
19  PVMConstants* pvmConst;
20  int typeReceived;
21  //identities for netcommunication
25  int parenttid;
29  int mytid;
33  int myID;
34 
35  int numVar;
36  NetDataVariables* netDataVar;
37  DoubleVector netDataDouble;
38  struct timeval tmout;
39  ParameterVector netDataStr;
40 
41 public:
44  void printErrorMsg(const char* errorMsg);
46  void stopNetCommunication();
47  int receive();
48  int receiveFromMaster();
49  int send(NetDataResult* sendData);
50  int sendToMaster(double res);
51  int receivedVector();
52  //void getVector(DoubleVector& vec);
53  void getVector(double* vec);
54  int getReceiveType();
55  int receiveString();
56  int receiveBound();
57  int receivedString();
58  int receivedBounds();
59  //void getBound(DoubleVector& vec);
60  void getBound(double* vec);
61  const Parameter& getString(int num);
63 };
64 #endif
This class implements a dynamic vector of double values.
Definition: doublevector.h:11
this class is used to keep relevant data to be sent/received using PVM communication
Definition: netdata.h:31
this class is used to keep a vector of relevant data to be sent/received using PVM communication
Definition: netdata.h:8
This is the class used to store information about the different tags and data encoding that can be us...
Definition: pvmconstants.h:8
This class implements a dynamic vector of Parameter values.
Definition: parametervector.h:12
This is the class used to store the name of a variable used in the model simulation.
Definition: parameter.h:11
The class SlaveCommunication handles netcommunication for a slave process communicating with a master...
Definition: slavecommunication.h:16
int receivedBounds()
Definition: slavecommunication.cc:318
const Parameter & getString(int num)
Definition: slavecommunication.cc:330
const ParameterVector & getStringVector()
Definition: slavecommunication.cc:325
int send(NetDataResult *sendData)
Definition: slavecommunication.cc:147
void getVector(double *vec)
Definition: slavecommunication.cc:279
SlaveCommunication()
Definition: slavecommunication.cc:4
int getReceiveType()
Definition: slavecommunication.cc:285
int receivedVector()
Definition: slavecommunication.cc:256
int startNetCommunication()
Definition: slavecommunication.cc:42
void stopNetCommunication()
Definition: slavecommunication.cc:106
int receive()
Definition: slavecommunication.cc:244
void getBound(double *vec)
Definition: slavecommunication.cc:350
int receivedString()
Definition: slavecommunication.cc:311
int receiveString()
Definition: slavecommunication.cc:290
~SlaveCommunication()
Definition: slavecommunication.cc:18
void printErrorMsg(const char *errorMsg)
Definition: slavecommunication.cc:28
int receiveBound()
Definition: slavecommunication.cc:226
int receiveFromMaster()
Definition: slavecommunication.cc:160
int sendToMaster(double res)
Definition: slavecommunication.cc:111