A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Implement a generic resource; use it as ancestor to specific ones
[simgrid.git]
/
src
/
surf
/
network_gtnets.c
diff --git
a/src/surf/network_gtnets.c
b/src/surf/network_gtnets.c
index
351337a
..
21f23c7
100644
(file)
--- a/
src/surf/network_gtnets.c
+++ b/
src/surf/network_gtnets.c
@@
-31,9
+31,8
@@
static int dst_id = -1;
/* Free memory for a network link */
static void link_free(void *nw_link)
{
/* Free memory for a network link */
static void link_free(void *nw_link)
{
- free(((network_link_GTNETS_t) nw_link)->name);
xbt_dict_free(&(((network_link_GTNETS_t) nw_link)->properties));
xbt_dict_free(&(((network_link_GTNETS_t) nw_link)->properties));
- free(nw_link);
+
surf_resource_
free(nw_link);
}
/* Instantiate a new network link */
}
/* Instantiate a new network link */
@@
-77,7
+76,7
@@
static void link_new(char *name, double bw, double lat, xbt_dict_t props)
/* KF: Insert entry in the dictionary */
gtnets_link = xbt_new0(s_network_link_GTNETS_t, 1);
/* KF: Insert entry in the dictionary */
gtnets_link = xbt_new0(s_network_link_GTNETS_t, 1);
- gtnets_link->name = name;
+ gtnets_link->
generic_resource.
name = name;
gtnets_link->bw_current = bw;
gtnets_link->lat_current = lat;
gtnets_link->id = link_count;
gtnets_link->bw_current = bw;
gtnets_link->lat_current = lat;
gtnets_link->id = link_count;
@@
-89,13
+88,6
@@
static void link_new(char *name, double bw, double lat, xbt_dict_t props)
return;
}
return;
}
-/* free the network card */
-static void network_card_free(void *nw_card)
-{
- free(((network_card_GTNETS_t) nw_card)->name);
- free(nw_card);
-}
-
/* Instantiate a new network card: MODIFYED BY KF */
static int network_card_new(const char *name)
{
/* Instantiate a new network card: MODIFYED BY KF */
static int network_card_new(const char *name)
{
@@
-112,10
+104,10
@@
static int network_card_new(const char *name)
/* KF: just use the dictionary to map link names to link indices */
card = xbt_new0(s_network_card_GTNETS_t, 1);
/* KF: just use the dictionary to map link names to link indices */
card = xbt_new0(s_network_card_GTNETS_t, 1);
- card->name = xbt_strdup(name);
+ card->
generic_resource.
name = xbt_strdup(name);
card->id = card_count;
xbt_dict_set(surf_model_resource_set(surf_network_model), name, card,
card->id = card_count;
xbt_dict_set(surf_model_resource_set(surf_network_model), name, card,
-
network_card
_free);
+
surf_resource
_free);
}
LOG1(xbt_log_priority_trace, " return %d", card->id);
}
LOG1(xbt_log_priority_trace, " return %d", card->id);
@@
-309,11
+301,6
@@
static void define_callbacks(const char *file)
surfxml_add_callback(ETag_surfxml_platform_cb_list, &add_route);
}
surfxml_add_callback(ETag_surfxml_platform_cb_list, &add_route);
}
-static const char *get_resource_name(void *resource_id)
-{
- return ((network_card_GTNETS_t) resource_id)->name;
-}
-
static xbt_dict_t get_properties(void *link)
{
return ((network_card_GTNETS_t) link)->properties;
static xbt_dict_t get_properties(void *link)
{
return ((network_card_GTNETS_t) link)->properties;
@@
-499,8
+486,8
@@
static surf_action_t communicate(void *src, void *dst, double size,
/* KF: Add a flow to the GTNets Simulation, associated to this action */
if (gtnets_create_flow(card_src->id, card_dst->id, size, (void *) action)
< 0) {
/* KF: Add a flow to the GTNets Simulation, associated to this action */
if (gtnets_create_flow(card_src->id, card_dst->id, size, (void *) action)
< 0) {
- xbt_assert2(0, "Not route between host %s and host %s", card_src->name,
- card_dst->name);
+ xbt_assert2(0, "Not route between host %s and host %s", card_src->
generic_resource.
name,
+ card_dst->
generic_resource.
name);
}
return (surf_action_t) action;
}
return (surf_action_t) action;
@@
-509,15
+496,13
@@
static surf_action_t communicate(void *src, void *dst, double size,
/* Suspend a flow() */
static void action_suspend(surf_action_t action)
{
/* Suspend a flow() */
static void action_suspend(surf_action_t action)
{
- xbt_assert0(0,
- "action_suspend() not supported for the GTNets network model");
+ THROW_UNIMPLEMENTED;
}
/* Resume a flow() */
static void action_resume(surf_action_t action)
{
}
/* Resume a flow() */
static void action_resume(surf_action_t action)
{
- xbt_assert0(0,
- "action_resume() not supported for the GTNets network model");
+ THROW_UNIMPLEMENTED;
}
/* Test whether a flow is suspended */
}
/* Test whether a flow is suspended */
@@
-532,8
+517,6
@@
static void finalize(void)
surf_model_exit(surf_network_model);
surf_model_exit(surf_network_model);
- free(surf_network_model->extension_public);
-
free(surf_network_model);
surf_network_model = NULL;
free(surf_network_model);
surf_network_model = NULL;
@@
-548,11
+531,6
@@
static void surf_network_model_init_internal(void)
surf_model_init(surf_network_model);
surf_model_init(surf_network_model);
- surf_network_model->extension_public =
- xbt_new0(s_surf_network_model_extension_public_t, 1);
-
- surf_network_model->common_public.name_service = name_service;
- surf_network_model->common_public.get_resource_name = get_resource_name;
surf_network_model->common_public.action_get_state = surf_action_get_state;
surf_network_model->common_public.action_use = action_use;
surf_network_model->common_public.action_free = action_free;
surf_network_model->common_public.action_get_state = surf_action_get_state;
surf_network_model->common_public.action_use = action_use;
surf_network_model->common_public.action_free = action_free;
@@
-562,19
+540,19
@@
static void surf_network_model_init_internal(void)
surf_network_model->common_public.action_set_data = surf_action_set_data;
surf_network_model->common_public.name = "network";
surf_network_model->common_public.action_set_data = surf_action_set_data;
surf_network_model->common_public.name = "network";
- surf_network_model->
common
_private->resource_used = resource_used;
- surf_network_model->
common
_private->share_resources = share_resources;
- surf_network_model->
common
_private->update_actions_state =
+ surf_network_model->
model
_private->resource_used = resource_used;
+ surf_network_model->
model
_private->share_resources = share_resources;
+ surf_network_model->
model
_private->update_actions_state =
update_actions_state;
update_actions_state;
- surf_network_model->
common
_private->update_resource_state =
+ surf_network_model->
model
_private->update_resource_state =
update_resource_state;
update_resource_state;
- surf_network_model->
common
_private->finalize = finalize;
+ surf_network_model->
model
_private->finalize = finalize;
surf_network_model->common_public.suspend = action_suspend;
surf_network_model->common_public.resume = action_resume;
surf_network_model->common_public.is_suspended = action_is_suspended;
surf_network_model->common_public.suspend = action_suspend;
surf_network_model->common_public.resume = action_resume;
surf_network_model->common_public.is_suspended = action_is_suspended;
- surf_network_model->extension
_public->
communicate = communicate;
+ surf_network_model->extension
.network.
communicate = communicate;
/*for the props of the link */
surf_network_model->common_public.get_properties = get_properties;
/*for the props of the link */
surf_network_model->common_public.get_properties = get_properties;