Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Prepare network.c and cpu_cas01.c for net and cpu merge.
[simgrid.git] / src / include / surf / surf.h
index d5d2114..04530c6 100644 (file)
 SG_BEGIN_DECL()
 /* Actions and models are highly connected structures... */
 
+typedef enum {
+  UM_FULL,
+  UM_LAZY,
+  UM_UNDEFINED
+} e_UM_t;
+
 typedef enum {
   SURF_NETWORK_ELEMENT_NULL = 0,        /* NULL */
   SURF_NETWORK_ELEMENT_HOST,    /* host type */
@@ -105,6 +111,7 @@ typedef struct surf_action_lmm {
   s_xbt_swag_hookup_t action_list_hookup;
   int index_heap;
   double last_update;
+  double last_value;
   enum heap_action_type hat;
 } s_surf_action_lmm_t, *surf_action_lmm_t;
 
@@ -147,8 +154,8 @@ typedef struct surf_action_state {
 /***************************/
 /* Generic model object */
 /***************************/
-typedef struct s_routing_global s_routing_global_t, *routing_global_t;
-XBT_PUBLIC_DATA(routing_global_t) global_routing;
+typedef struct s_routing_platf s_routing_platf_t, *routing_platf_t;
+XBT_PUBLIC_DATA(routing_platf_t) routing_platf;
 
 
 /** \ingroup SURF_models
@@ -316,6 +323,13 @@ typedef struct surf_model {
 
   surf_model_private_t model_private;
 
+  // for action
+  lmm_system_t maxmin_system;
+  e_UM_t update_mechanism;
+  xbt_swag_t modified_set;
+  xbt_heap_t action_heap;
+  int selective_update;
+
   union extension {
     s_surf_model_extension_cpu_t cpu;
     s_surf_model_extension_network_t network;