X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/cc01c6a871dbbfd0cc84e26eb9f94aeb539e613e..22ee43de174bafecc4d073e1e7fba1f6c45a678d:/examples/amok/bandwidth/bandwidth.c diff --git a/examples/amok/bandwidth/bandwidth.c b/examples/amok/bandwidth/bandwidth.c index e5d5de9b2d..8df320a761 100644 --- a/examples/amok/bandwidth/bandwidth.c +++ b/examples/amok/bandwidth/bandwidth.c @@ -18,34 +18,38 @@ XBT_LOG_NEW_DEFAULT_CATEGORY(Bandwidth, * Sensor code * **********************************************************************/ +static xbt_socket_t try_gras_socket_client_from_string(const char *host) +{ + volatile xbt_socket_t sock = NULL; + xbt_ex_t e; + TRY { + sock = gras_socket_client_from_string(host); + } + CATCH(e) { + xbt_ex_free(e); + } + return sock; +} + /* Function prototypes */ int sensor(int argc, char *argv[]); int sensor(int argc, char *argv[]) { - gras_socket_t mysock; - gras_socket_t master = NULL; + xbt_socket_t mysock; + xbt_socket_t master = NULL; int connection_try = 10; - xbt_ex_t e; gras_init(&argc, argv); amok_bw_init(); amok_pm_init(); mysock = gras_socket_server_range(3000, 9999, 0, 0); - INFO1("Sensor starting (on port %d)", gras_os_myport()); - while (connection_try > 0 && master == NULL) { - int connected = 0; - TRY { - master = gras_socket_client_from_string(argv[1]); - connected = 1; - } CATCH(e) { - xbt_ex_free(e); - } - if (!connected) { - connection_try--; - gras_os_sleep(0.5); /* let the master get ready */ - } + XBT_INFO("Sensor starting (on port %d)", gras_os_myport()); + while (connection_try > 0 && + !(master = try_gras_socket_client_from_string(argv[1]))) { + connection_try--; + gras_os_sleep(0.5); /* let the master get ready */ } amok_pm_group_join(master, "bandwidth"); @@ -72,8 +76,8 @@ int maestro(int argc, char *argv[]) int msg_amount = 1; double min_duration = 1; - gras_socket_t peer; - gras_socket_t mysock; + xbt_socket_t peer; + xbt_socket_t mysock; xbt_peer_t h1, h2, h_temp; xbt_dynar_t group; @@ -81,22 +85,20 @@ int maestro(int argc, char *argv[]) amok_bw_init(); amok_pm_init(); - INFO0("Maestro starting"); + XBT_INFO("Maestro starting"); if (argc != 2) { - ERROR0("Usage: maestro port\n"); + XBT_ERROR("Usage: maestro port\n"); return 1; } mysock = gras_socket_server(atoi(argv[1])); group = amok_pm_group_new("bandwidth"); - INFO0("Wait for peers for 5 sec"); + XBT_INFO("Wait for peers for 5 sec"); gras_msg_handleall(5); /* friends, we're ready. Come and play */ if (xbt_dynar_length(group) < 2) { - char *msg; - asprintf(&msg, "Not enough peers arrived. Expected 2 got %ld", - xbt_dynar_length(group)); amok_pm_group_shutdown("bandwidth"); - xbt_die(msg); + xbt_die("Not enough peers arrived. Expected 2 got %ld", + xbt_dynar_length(group)); } h1 = *(xbt_peer_t *) xbt_dynar_get_ptr(group, 0); h2 = *(xbt_peer_t *) xbt_dynar_get_ptr(group, 1); @@ -107,22 +109,22 @@ int maestro(int argc, char *argv[]) h2 = h_temp; } - INFO2("Contact %s:%d", h1->name, h1->port); + XBT_INFO("Contact %s:%d", h1->name, h1->port); peer = gras_socket_client(h1->name, h1->port); - INFO0("Test the BW between me and one of the sensors"); + XBT_INFO("Test the BW between me and one of the sensors"); amok_bw_test(peer, buf_size, msg_size, msg_amount, min_duration, &sec, &bw); - INFO7 + XBT_INFO ("Experience between me and %s:%d (initially %d msgs of %d bytes, maybe modified to fill the pipe at least %.1fs) took %f sec, achieving %f kb/s", h1->name, h1->port, msg_amount, msg_size, min_duration, sec, ((double) bw) / 1024.0); - INFO4("Test the BW between %s:%d and %s:%d", h1->name, h1->port, + XBT_INFO("Test the BW between %s:%d and %s:%d", h1->name, h1->port, h2->name, h2->port); amok_bw_request(h1->name, h1->port, h2->name, h2->port, buf_size, msg_size, msg_amount, min_duration, &sec, &bw); - INFO6 + XBT_INFO ("Experience between %s:%d and %s:%d took took %f sec, achieving %f kb/s", h1->name, h1->port, h2->name, h2->port, sec, ((double) bw) / 1024.0);