Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
rename a field for cosmetics
[simgrid.git] / src / surf / trace_mgr.hpp
index ffb7620..bf45199 100644 (file)
@@ -8,54 +8,16 @@
 #define _SURF_TMGR_H
 
 #include "xbt/heap.h"
-#include "xbt/dynar.h"
-#include "surf/maxmin.h"
-#include "surf/datatypes.h"
 #include "simgrid/forward.h"
+#include <vector>
 
 SG_BEGIN_DECL()
-#include "xbt/base.h"
-#include "xbt/swag.h"
-#include "xbt/heap.h"
-#include "trace_mgr.hpp"
-#include "xbt/RngStream.h"
 
 typedef struct tmgr_event {
   double delta;
   double value;
 } s_tmgr_event_t, *tmgr_event_t;
 
-enum e_trace_type {
-  e_trace_list, e_trace_probabilist
-};
-
-enum e_event_generator_type {
-  e_generator_uniform, e_generator_exponential, e_generator_weibull
-};
-
-typedef struct probabilist_event_generator {
-  enum e_event_generator_type type;
-  RngStream rng_stream;
-  double next_value;
-  union {
-    struct {
-      double min;
-      double max;
-    } s_uniform_parameters;
-    struct {
-      double rate;
-    } s_exponential_parameters;
-    struct {
-      double scale;
-      double shape;
-    } s_weibull_parameters;
-  };
-} s_probabilist_event_generator_t;
-
-typedef struct tmgr_trace {
-  xbt_dynar_t event_list;
-} s_tmgr_trace_t;
-
 /* Iterator within a trace */
 typedef struct tmgr_trace_iterator {
   tmgr_trace_t trace;
@@ -63,6 +25,7 @@ typedef struct tmgr_trace_iterator {
   sg_resource_t resource;
   int free_me;
 } s_tmgr_trace_event_t;
+typedef struct tmgr_trace_iterator *tmgr_trace_iterator_t;
 
 /* Creation functions */
 XBT_PUBLIC(tmgr_trace_t) tmgr_empty_trace_new(void);
@@ -102,13 +65,15 @@ XBT_PUBLIC_CLASS trace_iterator {
 /** @brief A trace is a set of timed values, encoding the value that a variable takes at what time *
  *
  * It is useful to model dynamic platforms, where an external load that makes the resource availability change over time.
- * To model that, you have to set several traces per resource: one for the on/off state and one for each numerical value (computational speed, bandwidt and latency).
+ * To model that, you have to set several traces per resource: one for the on/off state and one for each numerical value (computational speed, bandwidth and latency).
  */
 XBT_PUBLIC_CLASS trace {
 public:
   /**  Creates an empty trace */
-  trace() {}
-  virtual ~trace() {}
+  trace();
+  virtual ~trace();
+//private:
+  std::vector<s_tmgr_event_t> event_list;
 };
 
 /** @brief Future Event Set (collection of iterators over the traces)