Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add levels to lib host_lib, link_lib and as_router_lib
[simgrid.git] / src / include / surf / surf.h
index 0b0bece..a1a2837 100644 (file)
 #include "portable.h"
 #include "xbt/config.h"
 #include "surf/datatypes.h"
+#include "xbt/lib.h"
+
+xbt_lib_t host_lib;
+int ROUTING_HOST_LEVEL; //Routing level
+int    SURF_CPU_LEVEL;         //Surf cpu level
+int SURF_WKS_LEVEL;            //Surf workstation level
+int SIMIX_HOST_LEVEL;  //Simix level
+int    MSG_HOST_LEVEL;         //Msg level
+int    SD_HOST_LEVEL;          //Simdag level
+int    COORD_HOST_LEVEL;       //Coordinates level
+
+xbt_lib_t link_lib;
+int SD_LINK_LEVEL;             //Simdag level
+int SURF_LINK_LEVEL;   //Surf level
+
+xbt_lib_t as_router_lib;
+int ROUTING_ASR_LEVEL; //Routing level
+int COORD_ASR_LEVEL;   //Coordinates level
 
 SG_BEGIN_DECL()
 /* Actions and models are highly connected structures... */
@@ -406,6 +424,21 @@ XBT_PUBLIC(void) surf_network_model_init_SMPI(const char *filename);
 XBT_PUBLIC(void) surf_network_model_init_LegrandVelho(const char
                                                       *filename);
 
+
+/** \brief Initializes the platform with the network model 'LV08_im'
+ *  \ingroup SURF_models
+ *  \param filename XML platform file name
+ *
+ * This model is adds the lazy management improvement to Legrand and
+ * Velho model. This improvement essentially replaces the list of actions
+ * inside the simulation kernel by a heap in order to reduce the complexity
+ * at each iteration of the simulation kernel.
+ *
+ *  \see surf_workstation_model_init_LegrandVelho()
+ */
+XBT_PUBLIC(void) im_surf_network_model_init_LegrandVelho(const char
+                                                      *filename);
+
 /** \brief Initializes the platform with the network model 'Constant'
  *  \ingroup SURF_models
  *  \param filename XML platform file name