From dcce49e3749a1404035806425a83279328e99f59 Mon Sep 17 00:00:00 2001 From: alegrand Date: Wed, 18 Jun 2008 22:23:31 +0000 Subject: [PATCH] Frederic's patch to get the sharing policy in SimDAG. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@5765 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- include/simdag/datatypes.h | 5 +++++ include/simdag/simdag.h | 1 + src/simdag/private.h | 1 + src/simdag/sd_link.c | 15 +++++++++++++++ 4 files changed, 22 insertions(+) diff --git a/include/simdag/datatypes.h b/include/simdag/datatypes.h index 6613f54b37..dff2935a7b 100644 --- a/include/simdag/datatypes.h +++ b/include/simdag/datatypes.h @@ -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 diff --git a/include/simdag/simdag.h b/include/simdag/simdag.h index 5723babb0d..2665377b52 100644 --- a/include/simdag/simdag.h +++ b/include/simdag/simdag.h @@ -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); diff --git a/src/simdag/private.h b/src/simdag/private.h index d1d81385f0..1e69f4325a 100644 --- a/src/simdag/private.h +++ b/src/simdag/private.h @@ -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 */ diff --git a/src/simdag/sd_link.c b/src/simdag/sd_link.c index 80cf7cac85..4b486336c7 100644 --- a/src/simdag/sd_link.c +++ b/src/simdag/sd_link.c @@ -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) { -- 2.20.1