From cdb1be49a934b298f1c83cbecf0525b33625e9c4 Mon Sep 17 00:00:00 2001 From: Martin Quinson Date: Sat, 18 Jul 2015 18:13:30 +0200 Subject: [PATCH] give Link a proper public interface --- buildtools/Cmake/DefinePackages.cmake | 1 + src/include/surf/surf.h | 25 ------------------------- src/simdag/sd_link.c | 2 +- src/surf/network_interface.cpp | 17 +++++++++++++++++ src/surf/network_interface.hpp | 5 ++--- src/surf/surf_c_bindings.cpp | 12 ------------ 6 files changed, 21 insertions(+), 41 deletions(-) diff --git a/buildtools/Cmake/DefinePackages.cmake b/buildtools/Cmake/DefinePackages.cmake index 68c40d33df..f238940561 100644 --- a/buildtools/Cmake/DefinePackages.cmake +++ b/buildtools/Cmake/DefinePackages.cmake @@ -687,6 +687,7 @@ set(headers_to_install include/simgrid/plugins.h include/simgrid/simix.h include/simgrid/host.h + include/simgrid/link.h include/smpi/mpi.h include/smpi/smpi.h include/smpi/smpi_cocci.h diff --git a/src/include/surf/surf.h b/src/include/surf/surf.h index edeb281284..8d22b4bada 100644 --- a/src/include/surf/surf.h +++ b/src/include/surf/surf.h @@ -707,31 +707,6 @@ XBT_PUBLIC(int) surf_host_file_seek(surf_resource_t host, surf_file_t fd, sg_offset_t offset, int origin); -/** - * @brief [brief description] - * @details [long description] - * - * @param link [description] - * @return [description] - */ -XBT_PUBLIC(int) surf_network_link_is_shared(surf_cpp_resource_t link); - -/** - * @brief Get the bandwidth of a link in bytes per second - * - * @param link The surf link - * @return The bandwidth in bytes per second - */ -XBT_PUBLIC(double) surf_network_link_get_bandwidth(surf_cpp_resource_t link); - -/** - * @brief Get the latency of a link in seconds - * - * @param link The surf link - * @return The latency in seconds - */ -XBT_PUBLIC(double) surf_network_link_get_latency(surf_cpp_resource_t link); - /** * @brief Get the content of a storage * diff --git a/src/simdag/sd_link.c b/src/simdag/sd_link.c index 7f5da90d27..cda30b411c 100644 --- a/src/simdag/sd_link.c +++ b/src/simdag/sd_link.c @@ -9,7 +9,7 @@ #include "xbt/dict.h" #include "xbt/sysdep.h" #include "surf/surf.h" - +#include "simgrid/link.h" /* Creates a link and registers it in SD. */ diff --git a/src/surf/network_interface.cpp b/src/surf/network_interface.cpp index 542c958df7..ecd437eb1d 100644 --- a/src/surf/network_interface.cpp +++ b/src/surf/network_interface.cpp @@ -13,6 +13,23 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_network, surf, "Logging specific to the SURF network module"); +/********* + * C API * + *********/ +SG_BEGIN_DECL() +int surf_network_link_is_shared(Link *link){ + return link->isShared(); +} + +double surf_network_link_get_bandwidth(Link *link){ + return link->getBandwidth(); +} + +double surf_network_link_get_latency(Link *link){ + return link->getLatency(); +} +SG_END_DECL() + /************* * Callbacks * *************/ diff --git a/src/surf/network_interface.hpp b/src/surf/network_interface.hpp index ba829aace7..159a650864 100644 --- a/src/surf/network_interface.hpp +++ b/src/surf/network_interface.hpp @@ -7,6 +7,8 @@ #include "surf_interface.hpp" #include "surf_routing.hpp" +#include "simgrid/link.h" + #ifndef SURF_NETWORK_INTERFACE_HPP_ #define SURF_NETWORK_INTERFACE_HPP_ @@ -16,9 +18,6 @@ class NetworkModel; typedef NetworkModel *NetworkModelPtr; -class Link; -typedef Link *LinkPtr; - class NetworkAction; typedef NetworkAction *NetworkActionPtr; diff --git a/src/surf/surf_c_bindings.cpp b/src/surf/surf_c_bindings.cpp index 298cae73c4..02078c00aa 100644 --- a/src/surf/surf_c_bindings.cpp +++ b/src/surf/surf_c_bindings.cpp @@ -489,18 +489,6 @@ void surf_vm_set_affinity(surf_resource_t vm, surf_resource_t cpu, unsigned long return get_casted_vm(vm)->setAffinity(sg_host_surfcpu(cpu), mask); } -int surf_network_link_is_shared(surf_cpp_resource_t link){ - return static_cast(link)->isShared(); -} - -double surf_network_link_get_bandwidth(surf_cpp_resource_t link){ - return static_cast(link)->getBandwidth(); -} - -double surf_network_link_get_latency(surf_cpp_resource_t link){ - return static_cast(link)->getLatency(); -} - xbt_dict_t surf_storage_get_content(surf_resource_t resource){ return static_cast(surf_storage_resource_priv(resource))->getContent(); } -- 2.20.1