X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/24287505ac8fca56db241a50415f1d3683b0133f..984df7001307c7e6ade55387b0174bd6891c715c:/src/amok/Bandwidth/saturate.c diff --git a/src/amok/Bandwidth/saturate.c b/src/amok/Bandwidth/saturate.c index 5b13d13eb4..fe15223f91 100644 --- a/src/amok/Bandwidth/saturate.c +++ b/src/amok/Bandwidth/saturate.c @@ -36,16 +36,12 @@ void amok_bw_sat_init(void) { } void amok_bw_sat_join(void) { - gras_cb_register(gras_msgtype_by_name("amok_bw_sat start"), - &amok_bw_cb_sat_start); - gras_cb_register(gras_msgtype_by_name("amok_bw_sat begin"), - &amok_bw_cb_sat_begin); + gras_cb_register("amok_bw_sat start", &amok_bw_cb_sat_start); + gras_cb_register("amok_bw_sat begin", &amok_bw_cb_sat_begin); } void amok_bw_sat_leave(void) { - gras_cb_unregister(gras_msgtype_by_name("amok_bw_sat start"), - &amok_bw_cb_sat_start); - gras_cb_unregister(gras_msgtype_by_name("amok_bw_sat begin"), - &amok_bw_cb_sat_begin); + gras_cb_unregister("amok_bw_sat start", &amok_bw_cb_sat_start); + gras_cb_unregister("amok_bw_sat begin", &amok_bw_cb_sat_begin); } /* *************************************************************************** @@ -71,10 +67,10 @@ void amok_bw_saturate_start(const char* from_name,unsigned int from_port, const char* to_name,unsigned int to_port, unsigned int msg_size, double duration) { gras_socket_t sock; - xbt_ex_t e; sat_request_t request = xbt_new(s_sat_request_t,1); - INFO4("Start from_name %s:%d -> to_name %s:%d",from_name,from_port,to_name,to_port); + VERB4("Start from_name %s:%d -> to_name %s:%d", + from_name, from_port, to_name, to_port); sock = gras_socket_client(from_name,from_port); request->peer.name = (char*)to_name; @@ -83,7 +79,7 @@ void amok_bw_saturate_start(const char* from_name,unsigned int from_port, request->duration=duration; request->msg_size=msg_size; - gras_msg_rpccall(sock,60,gras_msgtype_by_name("amok_bw_sat start"),&request, NULL); + gras_msg_rpccall(sock,60,"amok_bw_sat start",&request, NULL); free(request); gras_socket_close(sock); @@ -94,8 +90,6 @@ static int amok_bw_cb_sat_start(gras_msg_cb_ctx_t ctx, void *payload){ sat_request_t request = *(sat_request_t*)payload; gras_socket_t expeditor = gras_msg_cb_ctx_from(ctx); - xbt_ex_t e; - VERB4("Asked by %s:%d to start a saturation to %s:%d", gras_socket_peer_name(expeditor),gras_socket_peer_port(expeditor), request->peer.name,request->peer.port); @@ -110,7 +104,7 @@ static int amok_bw_cb_sat_start(gras_msg_cb_ctx_t ctx, void *payload){ free(request->peer.name); free(request); - return 1; + return 0; } /** @@ -161,7 +155,9 @@ void amok_bw_saturate_begin(const char* to_name,unsigned int to_port, double bw; double sec; amok_bw_test(peer_cmd, - 0,512*1024, 512*1024, /* 512k as first guess */ + 0, /* check buffsize yourself */ + 512*1024, /* 512k as first guess */ + 1, /* One packet only */ 1, /* at least one sec */ &sec, &bw); msg_size = request->msg_size = (int)bw; @@ -170,9 +166,7 @@ void amok_bw_saturate_begin(const char* to_name,unsigned int to_port, /* Launch the saturation */ - ctx = gras_msg_rpc_async_call(peer_cmd, 60, - gras_msgtype_by_name("amok_bw_sat begin"), - &request); + ctx = gras_msg_rpc_async_call(peer_cmd, 60, "amok_bw_sat begin", &request); free(request); gras_msg_rpc_async_wait(ctx,&request); meas=gras_socket_client_ext( to_name, request->peer.port, @@ -189,13 +183,13 @@ void amok_bw_saturate_begin(const char* to_name,unsigned int to_port, do { /* do send it */ - gras_socket_meas_send(meas,120,msg_size,msg_size); + gras_socket_meas_send(meas, 120, msg_size, 1); packet_sent++; /* Check whether someone asked us to stop saturation */ saturate_further = 0; TRY { - gras_msg_wait_ext(0/*no wait*/,gras_msgtype_by_name("amok_bw_sat stop"), + gras_msg_wait_ext(0/*no wait*/,"amok_bw_sat stop", NULL /* accept any sender */, NULL, NULL, /* No specific filter */ &msg_got); @@ -287,7 +281,7 @@ static int amok_bw_cb_sat_begin(gras_msg_cb_ctx_t ctx, void *payload){ while (saturate_further) { TRY { - gras_socket_meas_recv(meas,5,request->msg_size,request->msg_size); + gras_socket_meas_recv(meas, 5, request->msg_size, 1); } CATCH(e) { saturate_further = 0; xbt_ex_free(e); @@ -301,7 +295,7 @@ static int amok_bw_cb_sat_begin(gras_msg_cb_ctx_t ctx, void *payload){ if (gras_if_RL()) /* On SG, accepted=master */ gras_socket_close(measMaster); free(request); - return 1; + return 0; } /** @@ -320,7 +314,7 @@ void amok_bw_saturate_stop(const char* from_name,unsigned int from_port, bw_res_t answer; VERB2("Ask %s:%d to stop the saturation",from_name,from_port); TRY { - gras_msg_rpccall(sock,60,gras_msgtype_by_name("amok_bw_sat stop"),NULL,&answer); + gras_msg_rpccall(sock,60,"amok_bw_sat stop",NULL,&answer); } CATCH(e) { RETHROW2("Cannot ask %s:%d to stop saturation: %s",from_name, from_port); }