#include <ctype.h>
#include <lauxlib.h>
-#include "src/msg/msg_private.h"
-#include "src/simix/smx_host_private.h"
+#include <simgrid/host.h>
#include "src/surf/surf_private.h"
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(lua_platf, bindings, "Lua bindings (platform module)");
link.latency = surf_parse_get_time(lua_tostring(L, -1));
lua_pop(L, 1);
- link.state = SURF_RESOURCE_ON;
+ link.initiallyOn = 1;
lua_pushstring(L, "sharing_policy");
type = lua_gettable(L, -2);
}
int console_add_host___link(lua_State *L) {
- s_sg_platf_host_link_cbarg_t host_link;
- memset(&host_link,0,sizeof(host_link));
+ s_sg_platf_host_link_cbarg_t netcard;
+ memset(&netcard,0,sizeof(netcard));
int type;
// we get values from the table passed as argument
if (type != LUA_TSTRING) {
XBT_ERROR("Attribute 'id' must be specified for any host_link and must be a string.");
}
- host_link.id = lua_tostring(L, -1);
+ netcard.id = lua_tostring(L, -1);
lua_pop(L, 1);
lua_pushstring(L, "up");
if (type != LUA_TSTRING && type != LUA_TNUMBER) {
XBT_ERROR("Attribute 'up' must be specified for host_link and must either be a string or a number.");
}
- host_link.link_up = lua_tostring(L, -1);
+ netcard.link_up = lua_tostring(L, -1);
lua_pop(L, 1);
lua_pushstring(L, "down");
if (type != LUA_TSTRING && type != LUA_TNUMBER) {
XBT_ERROR("Attribute 'down' must be specified for host_link and must either be a string or a number.");
}
- host_link.link_down = lua_tostring(L, -1);
+ netcard.link_down = lua_tostring(L, -1);
lua_pop(L, 1);
- XBT_DEBUG("Create a host_link for host %s", host_link.id);
- sg_platf_new_host_link(&host_link);
+ XBT_DEBUG("Create a host_link for host %s", netcard.id);
+ sg_platf_new_netcard(&netcard);
return 0;
}
lua_pop(L, 1);
// get power value
- lua_pushstring(L, "power");
+ lua_pushstring(L, "speed");
type = lua_gettable(L, -2);
if (type != LUA_TSTRING && type != LUA_TNUMBER) {
- XBT_ERROR("Attribute 'power' must be specified for host and must either be a string (in the correct format; check documentation) or a number.");
+ XBT_ERROR("Attribute 'speed' must be specified for host and must either be a string (in the correct format; check documentation) or a number.");
}
- host.power_peak = xbt_dynar_new(sizeof(double), NULL);
- xbt_dynar_push_as(host.power_peak, double, get_cpu_power(lua_tostring(L, -1)));
+ host.speed_peak = xbt_dynar_new(sizeof(double), NULL);
+ xbt_dynar_push_as(host.speed_peak, double, get_cpu_speed(lua_tostring(L, -1)));
lua_pop(L, 1);
// get core
//get power_scale
lua_pushstring(L, "availability");
lua_gettable(L, -2);
- if(!lua_isnumber(L,-1)) host.power_scale = 1;// Default value
- else host.power_scale = lua_tonumber(L, -1);
+ if(!lua_isnumber(L,-1)) host.speed_scale = 1;// Default value
+ else host.speed_scale = lua_tonumber(L, -1);
lua_pop(L, 1);
//get power_trace
lua_pushstring(L, "availability_file");
lua_gettable(L, -2);
- host.power_trace = tmgr_trace_new_from_file(lua_tostring(L, -1));
+ host.speed_trace = tmgr_trace_new_from_file(lua_tostring(L, -1));
lua_pop(L, 1);
//get state initial
lua_pop(L, 1);
if (state)
- host.initial_state = SURF_RESOURCE_ON;
+ host.initiallyOn = 1;
else
- host.initial_state = SURF_RESOURCE_OFF;
+ host.initiallyOn = 0;
//get trace state
lua_pushstring(L, "state_file");
lua_pop(L, 1);
sg_platf_new_host(&host);
- xbt_dynar_free(&host.power_peak);
+ xbt_dynar_free(&host.speed_peak);
return 0;
}
lua_pushstring(L, "state");
lua_gettable(L, -2);
if (!lua_isnumber(L,-1) || lua_tonumber(L, -1))
- link.state = SURF_RESOURCE_ON;
+ link.initiallyOn = 1;
else
- link.state = SURF_RESOURCE_OFF;
+ link.initiallyOn = 0;
lua_pop(L, 1);
//get policy value
lua_pushstring(L, "gw_src");
lua_gettable(L, -2);
- ASroute.gw_src = sg_routing_edge_by_name_or_null(lua_tostring(L, -1));
+ ASroute.gw_src = sg_netcard_by_name_or_null(lua_tostring(L, -1));
lua_pop(L, 1);
lua_pushstring(L, "gw_dst");
lua_gettable(L, -2);
- ASroute.gw_dst = sg_routing_edge_by_name_or_null(lua_tostring(L, -1));
+ ASroute.gw_dst = sg_netcard_by_name_or_null(lua_tostring(L, -1));
lua_pop(L, 1);
/*if (A_surfxml_ASroute_gw___src && !ASroute.gw_src)*/
return 0;
}
-int console_set_function(lua_State *L) {
-
- const char *host_id ;
- const char *function_id;
- xbt_dynar_t args;
-
- if (! lua_istable(L, 1)) {
- XBT_ERROR("Bad Arguments to AS.new, Should be a table with named arguments");
- return -1;
- }
-
- // get Host id
- lua_pushstring(L, "host");
- lua_gettable(L, -2);
- host_id = lua_tostring(L, -1);
- lua_pop(L, 1);
-
- // get Function Name
- lua_pushstring(L, "fct");
- lua_gettable(L, -2);
- function_id = lua_tostring(L, -1);
- lua_pop(L, 1);
-
- //get args
- lua_pushstring(L,"args");
- lua_gettable(L, -2);
- args = xbt_str_split_str( lua_tostring(L,-1) , ",");
- lua_pop(L, 1);
-
- msg_host_t host = MSG_host_by_name(host_id);
- if (!host) {
- XBT_ERROR("no host '%s' found",host_id);
- return -1;
- }
-
- // FIXME: use sg_platf_new_process directly (warning: find a way to check hostname)
- MSG_set_function(host_id, function_id, args);
-
- return 0;
-}
-
int console_host_set_property(lua_State *L) {
const char* name ="";
const char* prop_id = "";
prop_value = lua_tostring(L,-1);
lua_pop(L, 1);
- msg_host_t host = MSG_host_by_name(name);
+ sg_host_t host = sg_host_by_name(name);
if (!host) {
XBT_ERROR("no host '%s' found",name);
return -1;
}
- xbt_dict_t props = MSG_host_get_properties(host);
+ xbt_dict_t props = sg_host_get_properties(host);
xbt_dict_set(props,prop_id,xbt_strdup(prop_value),NULL);
return 0;
lua_pop(L, 1); /* -- */
}
+//void sglua_register_routing_constants(lua_State* L)
+//{
+// lua_getglobal(L, "simgrid"); /* simgrid */
+// lua_newtable(L); /* simgrid simgrid.routing */
+//
+// lua_pushstring(L, "Cluster"); /* simgrid simgrid.routing Cluster */
+// lua_setfield(L, -2, "CLUSTER"); /* simgrid simgrid.routing */
+//
+// lua_pushstring(L, "Dijkstra"); /* simgrid simgrid.routing Dijkstra */
+// lua_setfield(L, -2, "DIJKSTRA"); /* simgrid simgrid.routing */
+//
+// lua_pushstring(L, "DijkstraCache"); /* simgrid simgrid.routing DijkstraCache */
+// lua_setfield(L, -2, "DIJKSTRA_CACHE"); /* simgrid simgrid.routing */
+//
+// lua_pushstring(L, "Floyd"); /* simgrid simgrid.routing Floyd */
+// lua_setfield(L, -2, "FLOYD"); /* simgrid simgrid.routing */
+//
+// lua_pushstring(L, "Full"); /* simgrid simgrid.routing Full */
+// lua_setfield(L, -2, "FULL"); /* simgrid simgrid.routing */
+//
+// lua_pushstring(L, "None"); /* simgrid simgrid.routing None */
+// lua_setfield(L, -2, "NONE"); /* simgrid simgrid.routing */
+//
+// lua_pushstring(L, "Vivaldi"); /* simgrid simgrid.routing Vivaldi */
+// lua_setfield(L, -2, "FULL"); /* simgrid simgrid.routing */
+//
+// lua_setfield(L, -2, "routing"); /* simgrid */
+//
+// lua_pop(L, 1); /* -- */
+//}