Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add comment and exception mechanism to the Host class.
[simgrid.git] / src / cxx / MsgNative.hpp
1 #ifndef MSG_NATIVE_HPP\r
2 #define MSG_NATIVE_HPP\r
3 \r
4 // Compilation C++ recquise\r
5 #ifndef __cplusplus\r
6         #error MsgNative.hpp requires C++ compilation (use a .cxx suffix)\r
7 #endif\r
8 \r
9 namespace msg\r
10 {\r
11 class MsgNative\r
12 {\r
13         private:\r
14         // Default constructor.\r
15         MsgNative(){}\r
16         \r
17         // Copy constructor.\r
18         MsgNative(const MsgNative& rMsgInterface) {}\r
19         \r
20         // Destructor.\r
21         virtual ~MsgNative(){}\r
22         \r
23         public:\r
24         \r
25         \r
26         static void processCreate(const Process& rProcess, const Host& rHost);\r
27         \r
28         static  int processKillAll(int resetPID);\r
29         \r
30         static void processSuspend(const Process& process);\r
31         \r
32         static void processKill(const Process& process);\r
33         \r
34         static  void processResume(const Process& process);\r
35         \r
36         static bool processIsSuspended(const Process& process);\r
37         \r
38         static Host& processGetHost(const Process& process);\r
39         \r
40         static Process& processFromPID(int PID);\r
41         \r
42         static int processGetPID(const Process& process);\r
43         \r
44         static int processGetPPID(const Process& process);\r
45         \r
46         static Process& processSelf(void);\r
47         \r
48         static int processSelfPID(void);\r
49         \r
50         static int processSelfPPID(void);\r
51         \r
52         static void processChangeHost(const Process& process, const Host& host);\r
53         \r
54         static void processWaitFor(double seconds);\r
55         \r
56         static void processExit(const Process& process);\r
57         \r
58         static Host& hostGetByName(const string& name) throw(HostNotFoundException);\r
59         \r
60         static string& hostGetName(const Host& host);\r
61         \r
62         static int hostGetNumber(void);\r
63         \r
64         static Host& hostSelf(void);\r
65         \r
66         static double hostGetSpeed(const Host& host);\r
67         \r
68         static bool hostIsAvail(const Host& host);\r
69         \r
70         static Host[] allHosts(void);\r
71         \r
72         static int hostGetLoad(const Host& host);\r
73         \r
74         static void taskCreate(const Task& task, const string& name, double computeDuration, double messageSize)\r
75         throw(NullPointerException, IllegalArgumentException);\r
76         \r
77         static Process& taskGetSender(const Task& task);\r
78         \r
79         static Host& taskGetSource(const Task& task);\r
80         \r
81         static string& taskGetName(const Task& task);\r
82         \r
83         static void taskCancel(const Task& task);\r
84         \r
85         static void parallelTaskCreate(const Task& pTask, const string& name, Host[]hosts, double[]computeDurations, double[]messageSizes)\r
86         throw(NullPointerException, IllegalArgumentException);\r
87         \r
88         static double taskGetComputeDuration(const Task& task);\r
89         \r
90         static double taskGetRemainingDuration(const Task& task);\r
91         \r
92         static void taskSetPriority(const Taska task, double priority);\r
93         \r
94         static void taskDestroy(const Task& task);\r
95         \r
96         static void taskExecute(const Task& task);\r
97         \r
98         static Task& taskGet(int channel, double timeout, const Host& host);\r
99         \r
100         static void taskSend(const string& alias, const Task& task, double timeout);\r
101         \r
102         static Task& taskReceive(const string& alias, double timeout, const Host& host);\r
103         \r
104         static int taskListenFrom(const string& alias);\r
105         \r
106         static bool taskListen(const string& alias);\r
107         \r
108         static int taskListenFromHost(const string& alias, const Host& host);\r
109         \r
110         static bool taskProbe(int channel);\r
111         \r
112         static int taskGetCommunicatingProcess(int channel);\r
113         \r
114         static int taskProbeHost(int channel, const Host& host);\r
115         \r
116         static void hostPut(const Host& host, int channel, const Task& task, double timeout);\r
117         \r
118         static void hostPutBounded(const Hos&t host, int channel, const Task& task, double max_rate);\r
119         \r
120         static void taskSendBounded(const string& alias, const Task& task, double maxrate);\r
121 };\r
122 }\r
123 \r
124 \r
125 \r
126 #endif // !MSG_NATIVE_HPP