X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/d25ee31741e8dd64436721b11fe82a0969f369cf..73def24a2f85941f5f0fe550e73bcb686583a7a6:/src/surf/trace_mgr_private.h diff --git a/src/surf/trace_mgr_private.h b/src/surf/trace_mgr_private.h index f63d1a28c4..dd5e09ebf1 100644 --- a/src/surf/trace_mgr_private.h +++ b/src/surf/trace_mgr_private.h @@ -1,6 +1,5 @@ -/* $Id$ */ - -/* Copyright (c) 2004 Arnaud Legrand. All rights reserved. */ +/* Copyright (c) 2004, 2007, 2009, 2010. 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. */ @@ -17,18 +16,46 @@ typedef struct tmgr_event { double value; } s_tmgr_event_t, *tmgr_event_t; +enum e_trace_type { + e_trace_list, e_trace_uniform, e_trace_exponential, e_trace_weibull +}; + typedef struct tmgr_trace { - xbt_dynar_t event_list; + enum e_trace_type type; + union { + struct { + xbt_dynar_t event_list; + } s_list; + struct { + double alpha; + double beta; + s_tmgr_event_t next_event; + /* and probably other things */ + } s_uniform; + struct { + double lambda; + s_tmgr_event_t next_event; + /* and probably other things */ + } s_exponential; + struct { + double lambda; + double k; + s_tmgr_event_t next_event; + /* and probably other things */ + } s_weibull; + }; } s_tmgr_trace_t; + typedef struct tmgr_trace_event { tmgr_trace_t trace; - int idx; - void *resource; + unsigned int idx; + void *model; + int free_me; } s_tmgr_trace_event_t; typedef struct tmgr_history { xbt_heap_t heap; } s_tmgr_history_t; -#endif /* _SURF_TMGR_PRIVATE_H */ +#endif /* _SURF_TMGR_PRIVATE_H */