Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[SMPI] Use SmpiHost::orecv().
[simgrid.git] / src / smpi / SmpiHost.hpp
1 #ifndef SMPI_HOST_HPP_
2 #define SMPI_HOST_HPP_
3
4 #include "src/include/smpi/smpi_utils.hpp"
5
6 #include <simgrid/s4u/host.hpp>
7 #include <string>
8 #include <vector>
9 #include <xbt/config.hpp>
10 #include <xbt/Extendable.hpp>
11
12
13
14 namespace simgrid {
15 namespace smpi {
16
17 void sg_smpi_host_init();
18 static void onHostDestruction(simgrid::s4u::Host& host);
19 static void onCreation(simgrid::s4u::Host& host);
20
21 class SmpiHost {
22
23   private:
24   std::vector<s_smpi_factor_t> orecv_parsed_values;
25   simgrid::s4u::Host *host = nullptr;
26
27   public:
28   static simgrid::xbt::Extension<simgrid::s4u::Host, SmpiHost> EXTENSION_ID;
29
30   explicit SmpiHost(simgrid::s4u::Host *ptr);
31   ~SmpiHost();
32
33   double wtime;
34   double osend;
35   double oisend;
36   std::string orecv_;
37   double orecv(size_t size);
38
39 };
40
41 }
42 }
43 #endif