X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/255192ad7c234ae1f6631d080b0d2d9cfc60ec1b..e76db741f886560cbf49a0dd833b35489c778ac1:/include/xbt/replay.hpp diff --git a/include/xbt/replay.hpp b/include/xbt/replay.hpp index 06581483e2..6f16a6617c 100644 --- a/include/xbt/replay.hpp +++ b/include/xbt/replay.hpp @@ -1,6 +1,6 @@ -/* xbt/replay_reader.h -- Tools to parse a replay file */ +/* xbt/replay.hpp -- Tools to parse a replay file */ -/* Copyright (c) 2010-2018. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2010-2022. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -18,15 +18,20 @@ namespace simgrid { namespace xbt { /* To split the file if a unique one is given (specific variable for the other case live in runner()) */ -typedef std::vector ReplayAction; - -XBT_PUBLIC_DATA std::ifstream* action_fs; -XBT_PUBLIC int replay_runner(int argc, char* argv[]); +using ReplayAction = std::vector; + +/** Launch a replaying actor of the given name. + * + * If trace_filename is nullptr, then the tracefile is shared between all instances, and was passed using + * xbt_replay_set_tracefile(). If trace_filename is not nullptr, then it's not shared and this trace file is for this + * actor only */ +XBT_PUBLIC int replay_runner(const char* actor_name, const char* trace_filename = nullptr); } } -typedef std::function action_fun; -XBT_PUBLIC void xbt_replay_action_register(const char* action_name, action_fun function); +using action_fun = std::function; +XBT_PUBLIC void xbt_replay_action_register(const char* action_name, const action_fun& function); XBT_PUBLIC action_fun xbt_replay_action_get(const char* action_name); +XBT_PUBLIC void xbt_replay_set_tracefile(const std::string& filename); #endif