Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Frederic's patch to get the sharing policy in SimDAG.
authoralegrand <alegrand@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Wed, 18 Jun 2008 22:23:31 +0000 (22:23 +0000)
committeralegrand <alegrand@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Wed, 18 Jun 2008 22:23:31 +0000 (22:23 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@5765 48e7efb5-ca39-0410-a469-dd3cf9ba447f

include/simdag/datatypes.h
include/simdag/simdag.h
src/simdag/private.h
src/simdag/sd_link.c

index 6613f54..dff2935 100644 (file)
@@ -26,6 +26,11 @@ typedef enum {
   SD_WORKSTATION_SEQUENTIAL_ACCESS  /**< @brief Only one task can be executed, the others wait in a FIFO. */
 } e_SD_workstation_access_mode_t;
 
+typedef enum {
+  SD_LINK_SHARED,
+  SD_LINK_FATPIPE
+} e_SD_link_sharing_policy_t;
 /** @brief Link datatype
     @ingroup SD_datatypes_management
 
index 5723bab..2665377 100644 (file)
@@ -30,6 +30,7 @@ XBT_PUBLIC(void)               SD_link_set_data(SD_link_t link, void *data);
 XBT_PUBLIC(const char*)        SD_link_get_name(SD_link_t link);
 XBT_PUBLIC(double)             SD_link_get_current_bandwidth(SD_link_t link);
 XBT_PUBLIC(double)             SD_link_get_current_latency(SD_link_t link);
+XBT_PUBLIC(e_SD_link_sharing_policy_t) SD_link_get_sharing_policy(SD_link_t link);
 /*property handling functions*/
 XBT_PUBLIC(xbt_dict_t) SD_link_get_properties(SD_link_t link);
 XBT_PUBLIC(const char*) SD_link_get_property_value(SD_link_t link, const char* name);
index d1d8138..1e69f43 100644 (file)
@@ -47,6 +47,7 @@ extern SD_global_t sd_global;
 typedef struct SD_link {
   void *surf_link; /* surf object */
   void *data; /* user data */
+  e_SD_link_sharing_policy_t sharing_policy; 
 } s_SD_link_t;
 
 /* Workstation */
index 80cf7ca..4b48633 100644 (file)
@@ -156,6 +156,21 @@ double SD_link_get_current_latency(SD_link_t link) {
   return surf_workstation_model->extension_public->get_link_latency(link->surf_link);
 }
 
+/**
+ * \brief Returns the sharing policy of this workstation.
+ *
+ * \param link a link
+ * \return the sharing policyfor the flows going through this link:
+ * SD_LINK_SHARED or SD_LINK_FATPIPE
+ *
+ */
+e_SD_link_sharing_policy_t SD_link_get_sharing_policy (SD_link_t link) {
+  SD_CHECK_INIT_DONE();
+  xbt_assert0(link != NULL, "Invalid parameter");
+  return link->sharing_policy;
+}
+
 /* Destroys a link.
  */
 void __SD_link_destroy(void *link) {