X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/6c053c9587e3a72153e0cc2c4494dbded6b4c788..9d765a692e8aae0c06d16ce6d7db2acdd0b3b63d:/src/surf/network_private.h diff --git a/src/surf/network_private.h b/src/surf/network_private.h index ad2af8e0c6..b2ac15976c 100644 --- a/src/surf/network_private.h +++ b/src/surf/network_private.h @@ -9,9 +9,10 @@ #include "surf_private.h" #include "xbt/dict.h" +#include "xbt/fifo.h" typedef struct network_link_CM02 { - s_surf_resource_lmm_t lmm_resource; /* must remain first to be added to a trace */ + s_surf_resource_lmm_t lmm_resource; /* must remain first to be added to a trace */ /* Using this object with the public part of model does not make sense */ @@ -19,22 +20,36 @@ typedef struct network_link_CM02 { tmgr_trace_event_t lat_event; } s_link_CM02_t, *link_CM02_t; +enum heap_action_type{ + LATENCY = 100, + MAX_DURATION, + NORMAL, + NOTSET +}; typedef struct surf_action_network_CM02 { - s_surf_action_t generic_action; + s_surf_action_lmm_t generic_lmm_action; + s_xbt_swag_hookup_t action_list_hookup; double latency; double lat_current; double weight; - lmm_variable_t variable; double rate; + struct { + const char* link_name; + double gap; + double size; + xbt_fifo_item_t fifo_item; + } sender; +#ifdef HAVE_LATENCY_BOUND_TRACKING int latency_limited; - int suspended; - +#endif #ifdef HAVE_TRACING - char* src_name; - char* dst_name; + char *src_name; + char *dst_name; #endif - + int index_heap; + enum heap_action_type hat; + double last_update; } s_surf_action_network_CM02_t, *surf_action_network_CM02_t; -#endif /* _SURF_NETWORK_PRIVATE_H */ +#endif /* _SURF_NETWORK_PRIVATE_H */