-/* Copyright (c) 2008, 2009, 2010. The SimGrid Team.
+/* Copyright (c) 2008-2010, 2012-2014. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
#include <stdio.h>
#include <stdlib.h>
-#include "msg/msg.h"
+#include "simgrid/msg.h"
#include "surf/surf_private.h"
int host(int argc, char *argv[]);
/** @addtogroup MSG_examples
*
- * @section MSG_ex_apps Examples of full applications
- *
- * - <b>token_ring/ring_call.c</b>: Classical token ring
- * communication, where a token is exchanged along a ring to reach
- * every participant.
+ * - <b>token_ring/token_bypass.c</b>: Classical token ring with a bypass deployment.
+ * A token is exchanged along a ring to reach every participant.
*
*/
static int surf_parse_bypass_platform(void)
{
sg_platf_begin();
- sg_platf_new_AS_begin("AS0", A_surfxml_AS_routing_Full);
+ s_sg_platf_AS_cbarg_t AS = SG_PLATF_AS_INITIALIZER;
+ AS.id = "AS0";
+ AS.routing = A_surfxml_AS_routing_Full;
+ sg_platf_new_AS_begin(&AS);
- s_sg_platf_host_cbarg_t bob;
- memset(&bob,0,sizeof(bob));
+ s_sg_platf_host_cbarg_t bob = SG_PLATF_HOST_INITIALIZER;
bob.id = "bob";
- bob.power_peak = 98095000;
- bob.power_scale = 1.0;
- bob.core_amount = 1;
- bob.initial_state = A_surfxml_host_state_ON;
- bob.power_trace = NULL;
- bob.state_trace = NULL;
- bob.coord = NULL;
- bob.properties = NULL;
-
- s_sg_platf_host_cbarg_t alice;
- memset(&alice,0,sizeof(alice));
- alice.id = "alice";
- alice.power_peak = 98095000;
- alice.power_scale = 1.0;
- alice.core_amount = 1;
- alice.initial_state = A_surfxml_host_state_ON;
- alice.power_trace = NULL;
- alice.state_trace = NULL;
- alice.coord = NULL;
- alice.properties = NULL;
-
+ bob.power_peak = xbt_dynar_new(sizeof(double), NULL);
+ xbt_dynar_push_as(bob.power_peak, double, 98095000.0);
sg_platf_new_host(&bob);
+
+ s_sg_platf_host_cbarg_t alice = SG_PLATF_HOST_INITIALIZER;
+ alice.id = "alice";
+ alice.power_peak = xbt_dynar_new(sizeof(double), NULL);
+ xbt_dynar_push_as(alice.power_peak, double, 98095000.0);
sg_platf_new_host(&alice);
- s_sg_platf_link_cbarg_t link;
- memset(&link, 0, sizeof(link));
+ s_sg_platf_link_cbarg_t link = SG_PLATF_LINK_INITIALIZER;
link.id = "link1";
- link.state = A_surfxml_link_state_ON;
- link.policy = A_surfxml_link_sharing_policy_SHARED;
link.latency = 0.000278066;
link.bandwidth = 27946250;
sg_platf_new_link(&link);
- s_sg_platf_route_cbarg_t route;
- memset(&route,0,sizeof(route));
+ s_sg_platf_route_cbarg_t route= SG_PLATF_ROUTE_INITIALIZER;
route.src = "bob";
route.dst = "alice";
- route.symmetrical = FALSE;
- sg_platf_route_begin(&route);
- sg_platf_route_add_link("link1", &route);
- sg_platf_route_end(&route);
-
- route.src = "alice";
- route.dst = "bob";
sg_platf_route_begin(&route);
sg_platf_route_add_link("link1", &route);
sg_platf_route_end(&route);
res = MSG_main();
XBT_INFO("Simulation time %g", MSG_get_clock());
- MSG_clean();
+
if (res == MSG_OK)
return 0;
else