-#ifndef MSG_NATIVE_HPP\r
-#define MSG_NATIVE_HPP\r
-\r
-// Compilation C++ recquise\r
-#ifndef __cplusplus\r
- #error MsgNative.hpp requires C++ compilation (use a .cxx suffix)\r
-#endif\r
-\r
-namespace msg\r
-{\r
-class MsgNative\r
-{\r
- private:\r
- // Default constructor.\r
- MsgNative(){}\r
- \r
- // Copy constructor.\r
- MsgNative(const MsgNative& rMsgInterface) {}\r
- \r
- // Destructor.\r
- virtual ~MsgNative(){}\r
- \r
- public:\r
- \r
- \r
- static void processCreate(const Process& rProcess, const Host& rHost);\r
- \r
- static int processKillAll(int resetPID);\r
- \r
- static void processSuspend(const Process& process);\r
- \r
- static void processKill(const Process& process);\r
- \r
- static void processResume(const Process& process);\r
- \r
- static bool processIsSuspended(const Process& process);\r
- \r
- static Host& processGetHost(const Process& process);\r
- \r
- static Process& processFromPID(int PID);\r
- \r
- static int processGetPID(const Process& process);\r
- \r
- static int processGetPPID(const Process& process);\r
- \r
- static Process& processSelf(void);\r
- \r
- static int processSelfPID(void);\r
- \r
- static int processSelfPPID(void);\r
- \r
- static void processChangeHost(const Process& process, const Host& host);\r
- \r
- static void processWaitFor(double seconds);\r
- \r
- static void processExit(const Process& process);\r
- \r
- static Host& hostGetByName(const string& name) throw(HostNotFoundException);\r
- \r
- static string& hostGetName(const Host& host);\r
- \r
- static int hostGetNumber(void);\r
- \r
- static Host& hostSelf(void);\r
- \r
- static double hostGetSpeed(const Host& host);\r
- \r
- static bool hostIsAvail(const Host& host);\r
- \r
- static Host[] allHosts(void);\r
- \r
- static int hostGetLoad(const Host& host);\r
- \r
- static void taskCreate(const Task& task, const string& name, double computeDuration, double messageSize)\r
- throw(NullPointerException, IllegalArgumentException);\r
- \r
- static Process& taskGetSender(const Task& task);\r
- \r
- static Host& taskGetSource(const Task& task);\r
- \r
- static string& taskGetName(const Task& task);\r
- \r
- static void taskCancel(const Task& task);\r
- \r
- static void parallelTaskCreate(const Task& pTask, const string& name, Host[]hosts, double[]computeDurations, double[]messageSizes)\r
- throw(NullPointerException, IllegalArgumentException);\r
- \r
- static double taskGetComputeDuration(const Task& task);\r
- \r
- static double taskGetRemainingDuration(const Task& task);\r
- \r
- static void taskSetPriority(const Taska task, double priority);\r
- \r
- static void taskDestroy(const Task& task);\r
- \r
- static void taskExecute(const Task& task);\r
- \r
- static Task& taskGet(int channel, double timeout, const Host& host);\r
- \r
- static void taskSend(const string& alias, const Task& task, double timeout);\r
- \r
- static Task& taskReceive(const string& alias, double timeout, const Host& host);\r
- \r
- static int taskListenFrom(const string& alias);\r
- \r
- static bool taskListen(const string& alias);\r
- \r
- static int taskListenFromHost(const string& alias, const Host& host);\r
- \r
- static bool taskProbe(int channel);\r
- \r
- static int taskGetCommunicatingProcess(int channel);\r
- \r
- static int taskProbeHost(int channel, const Host& host);\r
- \r
- static void hostPut(const Host& host, int channel, const Task& task, double timeout);\r
- \r
- static void hostPutBounded(const Hos&t host, int channel, const Task& task, double max_rate);\r
- \r
- static void taskSendBounded(const string& alias, const Task& task, double maxrate);\r
-};\r
-}\r
-\r
-\r
-\r
-#endif // !MSG_NATIVE_HPP
\ No newline at end of file