#include "simgrid/s4u/Engine.hpp"
#include "simgrid/s4u/Host.hpp"
-#include "instr/instr_interface.hpp"
#include "mc/mc.h"
+#include "src/instr/instr_private.hpp"
#include "src/msg/msg_private.hpp"
#include <xbt/config.hpp>
atexit(MSG_exit);
}
-/** \ingroup msg_simulation
- * \brief Launch the MSG simulation
- */
-msg_error_t MSG_main()
-{
- /* Clean IO before the run */
- fflush(stdout);
- fflush(stderr);
-
- if (MC_is_active()) {
- MC_run();
- } else {
- SIMIX_run();
- }
- return MSG_OK;
-}
-
/** \ingroup msg_simulation
* \brief set a configuration variable
*
*/
void MSG_config(const char *key, const char *value){
xbt_assert(msg_global,"ERROR: Please call MSG_init() before using MSG_config()");
- xbt_cfg_set_as_string(key, value);
-}
-
-/** \ingroup msg_simulation
- * \brief Kill all running process
-
- */
-int MSG_process_killall()
-{
- simcall_process_killall();
-
- return 0;
+ simgrid::config::set_as_string(key, value);
}
static void MSG_exit() {
- if (msg_global==nullptr)
- return;
-
- TRACE_end();
delete msg_global;
msg_global = nullptr;
}
-/** \ingroup msg_simulation
- * \brief A clock (in second).
- */
-double MSG_get_clock()
+unsigned long int MSG_get_sent_msg()
{
- return SIMIX_get_clock();
+ return msg_global->sent_msg;
}
-unsigned long int MSG_get_sent_msg()
+/** \brief register functions bypassing the parser */
+void MSG_set_function(const char* host_id, const char* function_name, xbt_dynar_t arguments)
{
- return msg_global->sent_msg;
+ SIMIX_process_set_function(host_id, function_name, arguments, -1, -1);
}