X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/940de22d7f2af82d58be3e886e6bc22608b4d8ec..599c5671721e2fd0b8f729f60d2852353f6bd5f3:/src/surf/trace_mgr.hpp diff --git a/src/surf/trace_mgr.hpp b/src/surf/trace_mgr.hpp index 28cf31937d..a818a1925f 100644 --- a/src/surf/trace_mgr.hpp +++ b/src/surf/trace_mgr.hpp @@ -8,45 +8,52 @@ #include "simgrid/forward.h" #include "xbt/sysdep.h" + #include #include -extern "C" { - /* Iterator within a trace */ -struct s_tmgr_trace_event_t { +namespace simgrid { +namespace kernel { +namespace resource { +class TraceEvent { +public: tmgr_trace_t trace; unsigned int idx; - sg_resource_t resource; + Resource* resource; bool free_me; }; -typedef s_tmgr_trace_event_t* tmgr_trace_event_t; + +} // namespace resource +} // namespace kernel +} // namespace simgrid +typedef simgrid::kernel::resource::TraceEvent* tmgr_trace_event_t; +extern XBT_PRIVATE simgrid::trace_mgr::future_evt_set future_evt_set; /** - * \brief Free a trace event structure + * @brief Free a trace event structure * * This function frees a trace_event if it can be freed, ie, if it has the free_me flag set to 1. * This flag indicates whether the structure is still used somewhere or not. * When the structure is freed, the argument is set to nullptr -*/ + */ XBT_PUBLIC void tmgr_trace_event_unref(tmgr_trace_event_t* trace_event); XBT_PUBLIC void tmgr_finalize(); XBT_PUBLIC tmgr_trace_t tmgr_trace_new_from_file(std::string filename); XBT_PUBLIC tmgr_trace_t tmgr_trace_new_from_string(std::string id, std::string input, double periodicity); -} namespace simgrid { /** @brief Modeling of the availability profile (due to an external load) or the churn * * There is 4 main concepts in this module: - * - #DatedValue: a pair (both are of type double) - * - #trace: a list of dated values - * - #trace_event: links a given trace to a given SimGrid resource. + * - #simgrid::trace_mgr::DatedValue: a pair (both are of type double) + * - #simgrid::trace_mgr::trace: a list of dated values + * - #simgrid::trace_mgr::trace_event: links a given trace to a given SimGrid resource. * A Cpu for example has 2 kinds of events: state (ie, is it ON/OFF) and speed, * while a link has 3 iterators: state, bandwidth and latency. - * - #future_evt_set: makes it easy to find the next occuring event of all traces + * - #simgrid::trace_mgr::future_evt_set: makes it easy to find the next occuring event of all traces */ namespace trace_mgr { class XBT_PUBLIC DatedValue {