-/* Copyright (c) 2004, 2005, 2006, 2007, 2008, 2009, 2010. The SimGrid Team.
+/* Copyright (c) 2004-2011. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
#include "xbt/str.h"
#include "surf/surfxml_parse_values.h"
+#include "surf/surf_resource.h"
+#include "surf/surf_resource_lmm.h"
+
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_network, surf,
"Logging specific to the SURF network module");
{
XBT_DEBUG("link_CM02");
- if(link->policy == SURF_LINK_FULLDUPLEX)
- {
- net_create_resource(bprintf("%s_UP",link->id), link->bandwidth, link->bandwidth_trace,
- link->latency, link->latency_trace, link->state, link->state_trace,
- link->policy, link->properties);
- net_create_resource(bprintf("%s_DOWN",link->id), link->bandwidth, link->bandwidth_trace,
- link->latency, link->latency_trace, link->state, link->state_trace,
- link->policy, NULL); // FIXME: We need to deep copy the properties or we won't be able to free it
- }
- else
- {
- net_create_resource(xbt_strdup(link->id), link->bandwidth, link->bandwidth_trace,
- link->latency, link->latency_trace, link->state, link->state_trace,
- link->policy, link->properties);
+ if (link->policy == SURF_LINK_FULLDUPLEX) {
+ char *link_id;
+ link_id = bprintf("%s_UP", link->id);
+ net_create_resource(link_id,
+ link->bandwidth,
+ link->bandwidth_trace,
+ link->latency,
+ link->latency_trace,
+ link->state,
+ link->state_trace,
+ link->policy,
+ link->properties);
+ xbt_free(link_id);
+ link_id = bprintf("%s_DOWN", link->id);
+ net_create_resource(link_id,
+ link->bandwidth,
+ link->bandwidth_trace,
+ link->latency,
+ link->latency_trace,
+ link->state,
+ link->state_trace,
+ link->policy,
+ NULL); /* FIXME: We need to deep copy the properties or
+ * we won't be able to free it */
+ xbt_free(link_id);
+ } else {
+ net_create_resource(link->id,
+ link->bandwidth,
+ link->bandwidth_trace,
+ link->latency,
+ link->latency_trace,
+ link->state,
+ link->state_trace,
+ link->policy,
+ link->properties);
}
-
}
static void net_add_traces(void)
network_maxmin_system = lmm_system_new();
routing_model_create(sizeof(link_CM02_t),
- net_create_resource(xbt_strdup("__loopback__"),
- 498000000, NULL, 0.000015, NULL,
- SURF_RESOURCE_ON, NULL,
- SURF_LINK_FATPIPE, NULL),
- net_get_link_latency);
+ net_create_resource("__loopback__",
+ 498000000, NULL,
+ 0.000015, NULL,
+ SURF_RESOURCE_ON, NULL,
+ SURF_LINK_FATPIPE, NULL),
+ net_get_link_latency);
}