X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/fa159d28bf7eb7b7876fbd85ea11a8d74cf489fc..df078bae24388cc0dd63b2bbafe05897a0dd45f8:/src/bindings/lua/lua_platf.cpp diff --git a/src/bindings/lua/lua_platf.cpp b/src/bindings/lua/lua_platf.cpp index c91e07b1a2..50df71d1d5 100644 --- a/src/bindings/lua/lua_platf.cpp +++ b/src/bindings/lua/lua_platf.cpp @@ -12,13 +12,12 @@ #include #include -extern "C" { #include -} #include "src/surf/surf_private.hpp" #include #include +#include #include #include #include @@ -47,17 +46,29 @@ static const luaL_Reg platf_functions[] = { {nullptr, nullptr} }; +static simgrid::s4u::Link::SharingPolicy link_policy_get_by_name(const char* policy) +{ + if (policy && not strcmp(policy, "FULLDUPLEX")) { + XBT_WARN("Please update your platform to use SPLITDUPLEX instead of FULLDUPLEX"); + return simgrid::s4u::Link::SharingPolicy::SPLITDUPLEX; + } else if (policy && not strcmp(policy, "SPLITDUPLEX")) { + return simgrid::s4u::Link::SharingPolicy::SPLITDUPLEX; + } else if (policy && not strcmp(policy, "FATPIPE")) { + return simgrid::s4u::Link::SharingPolicy::FATPIPE; + } else { + return simgrid::s4u::Link::SharingPolicy::SHARED; + } +} + int console_open(lua_State *L) { sg_platf_init(); - sg_platf_begin(); - - storage_register_callbacks(); + simgrid::s4u::on_platform_creation(); return 0; } int console_close(lua_State *L) { - sg_platf_end(); + simgrid::s4u::on_platform_created(); sg_platf_exit(); return 0; } @@ -93,19 +104,10 @@ int console_add_backbone(lua_State *L) { lua_gettable(L, -2); const char* policy = lua_tostring(L, -1); lua_pop(L, 1); - if (policy && not strcmp(policy, "FULLDUPLEX")) { - XBT_WARN("Please update your platform to use SPLITDUPLEX instead of FULLDUPLEX"); - link.policy = SURF_LINK_SPLITDUPLEX; - } else if (policy && not strcmp(policy, "SPLITDUPLEX")) { - link.policy = SURF_LINK_SPLITDUPLEX; - } else if (policy && not strcmp(policy, "FATPIPE")) { - link.policy = SURF_LINK_FATPIPE; - } else { - link.policy = SURF_LINK_SHARED; - } + link.policy = link_policy_get_by_name(policy); sg_platf_new_link(&link); - routing_cluster_add_backbone(simgrid::surf::LinkImpl::byName(link.id)); + routing_cluster_add_backbone(simgrid::s4u::Link::by_name(link.id)->get_impl()); return 0; } @@ -269,16 +271,7 @@ int console_add_link(lua_State *L) { lua_gettable(L, -2); policy = lua_tostring(L, -1); lua_pop(L, 1); - if (policy && not strcmp(policy, "FULLDUPLEX")) { - XBT_WARN("Please update your platform to use SPLITDUPLEX instead of FULLDUPLEX"); - link.policy = SURF_LINK_SPLITDUPLEX; - } else if (policy && not strcmp(policy, "SPLITDUPLEX")) { - link.policy = SURF_LINK_SPLITDUPLEX; - } else if (policy && not strcmp(policy, "FATPIPE")) { - link.policy = SURF_LINK_FATPIPE; - } else { - link.policy = SURF_LINK_SHARED; - } + link.policy = link_policy_get_by_name(policy); sg_platf_new_link(&link); @@ -338,12 +331,12 @@ int console_add_route(lua_State *L) { boost::split(names, str, boost::is_any_of(", \t\r\n")); if (names.empty()) { /* unique name */ - route.link_list.push_back(simgrid::surf::LinkImpl::byName(lua_tostring(L, -1))); + route.link_list.push_back(simgrid::s4u::Link::by_name(lua_tostring(L, -1))->get_impl()); } else { // Several names separated by , \t\r\n for (auto const& name : names) { if (name.length() > 0) { - simgrid::surf::LinkImpl* link = simgrid::surf::LinkImpl::byName(name); + simgrid::kernel::resource::LinkImpl* link = simgrid::s4u::Link::by_name(name)->get_impl(); route.link_list.push_back(link); } } @@ -416,12 +409,12 @@ int console_add_ASroute(lua_State *L) { boost::split(names, str, boost::is_any_of(", \t\r\n")); if (names.empty()) { /* unique name with no comma */ - ASroute.link_list.push_back(simgrid::surf::LinkImpl::byName(lua_tostring(L, -1))); + ASroute.link_list.push_back(simgrid::s4u::Link::by_name(lua_tostring(L, -1))->get_impl()); } else { // Several names separated by , \t\r\n for (auto const& name : names) { if (name.length() > 0) { - simgrid::surf::LinkImpl* link = simgrid::surf::LinkImpl::byName(name); + simgrid::kernel::resource::LinkImpl* link = simgrid::s4u::Link::by_name(name)->get_impl(); ASroute.link_list.push_back(link); } } @@ -483,12 +476,12 @@ int console_AS_open(lua_State *L) { simgrid::kernel::routing::ZoneCreationArgs AS; AS.id = id; AS.routing = mode_int; - simgrid::s4u::NetZone* new_as = sg_platf_new_Zone_begin(&AS); + simgrid::kernel::routing::NetZoneImpl* new_as = sg_platf_new_Zone_begin(&AS); /* Build a Lua representation of the new AS on the stack */ lua_newtable(L); - simgrid::s4u::NetZone** lua_as = - (simgrid::s4u::NetZone**)lua_newuserdata(L, sizeof(simgrid::s4u::NetZone*)); /* table userdatum */ + simgrid::kernel::routing::NetZoneImpl** lua_as = (simgrid::kernel::routing::NetZoneImpl**)lua_newuserdata( + L, sizeof(simgrid::kernel::routing::NetZoneImpl*)); /* table userdatum */ *lua_as = new_as; luaL_getmetatable(L, PLATF_MODULE_NAME); /* table userdatum metatable */ lua_setmetatable(L, -2); /* table userdatum */ @@ -524,14 +517,14 @@ int console_host_set_property(lua_State *L) { sg_host_t host = sg_host_by_name(name); lua_ensure(host, "no host '%s' found",name); - host->setProperty(prop_id, prop_value); + host->set_property(prop_id, prop_value); return 0; } /** - * \brief Registers the platform functions into the table simgrid.platf. - * \param L a lua state + * @brief Registers the platform functions into the table simgrid.platf. + * @param L a lua state */ void sglua_register_platf_functions(lua_State* L) {