X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/bc8444cfcfd9eb6957c32bbc3f851c07439eeafd..6b188a3ca7fe91cf125a08229fb4fe51eee26e6d:/src/surf/network_private.h diff --git a/src/surf/network_private.h b/src/surf/network_private.h index 8b4ee260bd..68dfe46828 100644 --- a/src/surf/network_private.h +++ b/src/surf/network_private.h @@ -1,6 +1,5 @@ -/* $Id$ */ - -/* Copyright (c) 2004 Arnaud Legrand. All rights reserved. */ +/* Copyright (c) 2004, 2005, 2007, 2008, 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. */ @@ -10,47 +9,49 @@ #include "surf_private.h" #include "xbt/dict.h" +#include "xbt/fifo.h" typedef struct network_link_CM02 { - surf_resource_t resource; /* Any such object, added in a trace - should start by this field!!! */ + s_surf_resource_lmm_t lmm_resource; /* must remain first to be added to a trace */ + /* Using this object with the public part of - resource does not make sense */ - char *name; - double bw_current; - tmgr_trace_event_t bw_event; + model does not make sense */ double lat_current; tmgr_trace_event_t lat_event; - e_surf_network_link_state_t state_current; - tmgr_trace_event_t state_event; - lmm_constraint_t constraint; -} s_network_link_CM02_t, *network_link_CM02_t; +} s_link_CM02_t, *link_CM02_t; - -typedef struct network_card_CM02 { - char *name; - int id; -} s_network_card_CM02_t, *network_card_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_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; +#endif int suspended; - network_card_CM02_t src; - network_card_CM02_t dst; +#ifdef HAVE_TRACING + 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; -extern xbt_dict_t network_card_set; - - -extern int card_number; -extern network_link_CM02_t **routing_table; -extern int *routing_table_size; - -#define ROUTE(i,j) routing_table[(i)+(j)*card_number] -#define ROUTE_SIZE(i,j) routing_table_size[(i)+(j)*card_number] - -#endif /* _SURF_NETWORK_PRIVATE_H */ +#endif /* _SURF_NETWORK_PRIVATE_H */