-/* Copyright (c) 2004-2014. The SimGrid Team.
+/* Copyright (c) 2004-2015. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
#include "xbt/dict.h"
#include "xbt/graph.h"
#include "xbt/misc.h"
-#include "portable.h"
#include "xbt/config.h"
+#include "src/portable.h"
#include "surf/datatypes.h"
#include "xbt/lib.h"
#include "surf/surf_routing.h"
/* Actions and models are highly connected structures... */
/* user-visible parameters */
-extern double sg_tcp_gamma;
-extern double sg_sender_gap;
-extern double sg_latency_factor;
-extern double sg_bandwidth_factor;
-extern double sg_weight_S_parameter;
-extern int sg_network_crosstraffic;
-#ifdef HAVE_GTNETS
-extern double sg_gtnets_jitter;
-extern int sg_gtnets_jitter_seed;
-#endif
-extern xbt_dynar_t surf_path;
+extern XBT_PRIVATE double sg_tcp_gamma;
+extern XBT_PRIVATE double sg_sender_gap;
+extern XBT_PRIVATE double sg_latency_factor;
+extern XBT_PRIVATE double sg_bandwidth_factor;
+extern XBT_PRIVATE double sg_weight_S_parameter;
+extern XBT_PRIVATE int sg_network_crosstraffic;
+extern XBT_PRIVATE xbt_dynar_t surf_path;
typedef enum {
SURF_NETWORK_ELEMENT_NULL = 0, /* NULL */
class Action;
class ActionLmm;
class StorageActionLmm;
-struct As;
-struct RoutingEdge;
+class As;
+class RoutingEdge;
class RoutingPlatf;
#else
typedef struct Model Model;
/** @ingroup SURF_interface
* @brief Action states
*
- * Action states.
- *
* @see Action
*/
typedef enum {
surf_resource_set_state((surf_cpp_resource_t)host, state);
}
-/**
- * @brief Get the speed of the cpu associated to a host
- *
- * @param resource The surf host
- * @param load [description]
- *
- * @return [description]
- */
+/** @brief Get the speed of the cpu associated to a host */
XBT_PUBLIC(double) surf_host_get_speed(surf_resource_t resource, double load);
-/**
- * @brief Get the available speed of cpu associated to a host
- *
- * @param resource The surf host
- * @return [description]
- */
-XBT_PUBLIC(double) surf_host_get_available_speed(surf_resource_t resource);
+/** @brief Get the available speed of cpu associated to a host */
+XBT_PUBLIC(double) surf_host_get_available_speed(surf_resource_t host);
/** @brief Get the number of cores of the cpu associated to a host */
-XBT_PUBLIC(int) surf_host_get_core(surf_resource_t resource);
+XBT_PUBLIC(int) surf_host_get_core(surf_resource_t host);
/** @brief Create a computation action on the given host */
-XBT_PUBLIC(surf_action_t) surf_host_execute(surf_resource_t resource, double size);
+XBT_PUBLIC(surf_action_t) surf_host_execute(surf_resource_t host, double size);
/** @brief Create a sleep action on the given host */
-XBT_PUBLIC(surf_action_t) surf_host_sleep(surf_resource_t resource, double duration);
+XBT_PUBLIC(surf_action_t) surf_host_sleep(surf_resource_t host, double duration);
/** @brief Create a file opening action on the given host */
XBT_PUBLIC(surf_action_t) surf_host_open(surf_resource_t host, const char* fullpath);
/** @brief Get the list of VMs hosted on the host */
XBT_PUBLIC(xbt_dynar_t) surf_host_get_vms(surf_resource_t resource);
-/**
- * @brief [brief description]
- * @details [long description]
- *
- * @param resource [description]
- * @param params [description]
+/** @brief Retrieve the params of that VM
+ * @details You can use fields ramsize and overcommit on a PM, too.
*/
-XBT_PUBLIC(void) surf_host_get_params(surf_resource_t resource, ws_params_t params);
+XBT_PUBLIC(void) surf_host_get_params(surf_resource_t resource, vm_params_t params);
-/**
- * @brief [brief description]
- * @details [long description]
- *
- * @param resource [description]
- * @param params [description]
+/** @brief Sets the params of that VM/PM
+ * @details You can use fields ramsize and overcommit on a PM, too.
*/
-XBT_PUBLIC(void) surf_host_set_params(surf_resource_t resource, ws_params_t params);
+XBT_PUBLIC(void) surf_host_set_params(surf_resource_t resource, vm_params_t params);
/**
* @brief Destroy a VM
*/
XBT_PUBLIC(void) surf_vm_destroy(surf_resource_t resource);
-/**
- * @brief Suspend a VM
- *
- * @param resource The surf vm
- */
+/** @brief Suspend a VM */
XBT_PUBLIC(void) surf_vm_suspend(surf_resource_t resource);
-/**
- * @brief Resume a VM
- *
- * @param resource The surf vm
- */
+/** @brief Resume a VM */
XBT_PUBLIC(void) surf_vm_resume(surf_resource_t resource);
/**
*/
XBT_PUBLIC(void) surf_network_model_init_CM02(void);
-#ifdef HAVE_GTNETS
-/** \ingroup SURF_models
- * \brief Initializes the platform with the network model GTNETS
- * \param filename XML platform file name
- *
- * This function is called by surf_host_model_init_GTNETS
- * or by yourself only if you plan using surf_host_model_init_compound
- *
- * \see surf_host_model_init_GTNETS()
- */
-XBT_PUBLIC(void) surf_network_model_init_GTNETS(void);
-#endif
-
#ifdef HAVE_NS3
/** \ingroup SURF_models
* \brief Initializes the platform with the network model NS3
- * \param filename XML platform file name
*
* This function is called by surf_host_model_init_NS3
* or by yourself only if you plan using surf_host_model_init_compound
/** \ingroup SURF_models
* \brief Initializes the platform with the network model Reno
- * \param filename XML platform file name
*
* The problem is related to max( sum( arctan(C * Df * xi) ) ).
*
/** \ingroup SURF_models
* \brief Initializes the platform with the network model Reno2
- * \param filename XML platform file name
*
* The problem is related to max( sum( arctan(C * Df * xi) ) ).
*
/** \ingroup SURF_models
* \brief Initializes the platform with the network model Vegas
- * \param filename XML platform file name
*
* This problem is related to max( sum( a * Df * ln(xi) ) ) which is equivalent
* to the proportional fairness.