-/* Copyright (c) 2004, 2007, 2009, 2010. The SimGrid Team.
+/* Copyright (c) 2004, 2007, 2009-2010, 2012-2014. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
#ifndef _SURF_TMGR_PRIVATE_H
#define _SURF_TMGR_PRIVATE_H
+#include "xbt/base.h"
#include "xbt/swag.h"
#include "xbt/heap.h"
#include "surf/trace_mgr.h"
double next_value;
union {
struct {
- double alpha;
- double beta;
+ double min;
+ double max;
} s_uniform_parameters;
struct {
- double lambda;
+ double rate;
} s_exponential_parameters;
struct {
- double lambda;
- double k;
+ double scale;
+ double shape;
} s_weibull_parameters;
};
} s_probabilist_event_generator_t;
} s_list;
struct {
probabilist_event_generator_t event_generator[2];
+ int is_state_trace;
int next_event;
} s_probabilist;
};
} s_tmgr_trace_t;
-
-typedef struct tmgr_trace_event {
+/* Iterator within a trace */
+typedef struct tmgr_trace_iterator {
tmgr_trace_t trace;
unsigned int idx;
- void *model;
+ void *resource;
int free_me;
} s_tmgr_trace_event_t;
-typedef struct tmgr_history {
- xbt_heap_t heap;
+/* Future Event Set (collection of iterators over the traces)
+ * That's useful to quickly know which is the next occurring event in a set of traces. */
+typedef struct tmgr_fes {
+ xbt_heap_t heap; /* Content: only trace_events */
} s_tmgr_history_t;
-double tmgr_event_generator_next_value(probabilist_event_generator_t generator);
+XBT_PRIVATE double tmgr_event_generator_next_value(probabilist_event_generator_t generator);
#endif /* _SURF_TMGR_PRIVATE_H */