From 9e228d90678a2880e5da0086b3ad2c149ed37aa4 Mon Sep 17 00:00:00 2001 From: mquinson Date: Tue, 18 Apr 2006 08:38:24 +0000 Subject: [PATCH] Kill dead code; make sure that amok_bw_saturate_stop returns the achieved bandwidth and the elapsed time. Change its prototype to match the rest of the module API git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@2153 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- src/amok/Bandwidth/saturate.c | 277 +--------------------------------- 1 file changed, 5 insertions(+), 272 deletions(-) diff --git a/src/amok/Bandwidth/saturate.c b/src/amok/Bandwidth/saturate.c index 6b541f925f..1fd993b1be 100644 --- a/src/amok/Bandwidth/saturate.c +++ b/src/amok/Bandwidth/saturate.c @@ -275,279 +275,12 @@ static int amok_bw_cb_sat_begin(gras_msg_cb_ctx_t ctx, void *payload){ * */ void amok_bw_saturate_stop(const char* from_name,unsigned int from_port, - /*out*/ unsigned int *time, unsigned int *bw) { + /*out*/ double *time, double *bw) { gras_socket_t sock = gras_socket_client(from_name,from_port); - gras_msg_rpccall(sock,60,gras_msgtype_by_name("amok_bw_sat stop"),NULL,NULL); + bw_res_t answer; + gras_msg_rpccall(sock,60,gras_msgtype_by_name("amok_bw_sat stop"),NULL,&answer); gras_socket_close(sock); + if (time) *time=answer->sec; + if (bw) *bw =answer->bw; } - - -#if 0 -int grasbw_cbSatStart(gras_msg_t *msg) { - gras_rawsock_t *raw; - gras_sock_t *sock; - xbt_error_t errcode; - double start; /* time to timeout */ - - /* specification of the test to run */ - char* to_name=gras_msg_ctn(msg,0,0,msgHost_t).host; - unsigned int to_port=gras_msg_ctn(msg,0,0,msgHost_t).port; - - unsigned int msgSize=gras_msg_ctn(msg,1,0,SatExp_t).msgSize; - unsigned int timeout=gras_msg_ctn(msg,1,0,SatExp_t).timeout; - unsigned int raw_port; - - /* The request */ - SatExp_t *request; - /* answer */ - gras_msg_t *answer; - - - /* Negociate the saturation with the peer */ - if((errcode=gras_sock_client_open(to_name,to_port,&sock))) { - fprintf(stderr,"cbSatStart(): Error %s encountered while contacting peer\n", - xbt_error_name(errcode)); - grasRepportError(msg->sock,GRASMSG_SAT_STARTED,1, - "cbSatStart: Severe error: Cannot send error status to requester!!\n", - errcode,"Cannot contact peer.\n"); - return 1; - } - if (!(request=(SatExp_t *)malloc(sizeof(SatExp_t)))) { - fprintf(stderr,"cbSatStart(): Malloc error\n"); - gras_sock_close(sock); - grasRepportError(msg->sock,GRASMSG_SAT_STARTED,1, - "cbSatStart: Severe error: Cannot send error status to requester!!\n", - malloc_error,"Cannot build request.\n"); - return 1; - } - - request->timeout=gras_msg_ctn(msg,1,0,SatExp_t).timeout; - request->msgSize=gras_msg_ctn(msg,1,0,SatExp_t).msgSize; - - if ((errcode=gras_msg_new_and_send(sock,GRASMSG_SAT_BEGIN, 1, - request,1))) { - fprintf(stderr,"cbSatStart(): Error %s encountered while sending the request.\n", - xbt_error_name(errcode)); - grasRepportError(msg->sock,GRASMSG_SAT_STARTED,1, - "cbSatStart: Severe error: Cannot send error status to requester!!\n", - errcode,"Cannot send request.\n"); - gras_sock_close(sock); - return 1; - } - - if ((errcode=gras_msg_wait(120,GRASMSG_SAT_BEGUN,&answer))) { - fprintf(stderr,"cbSatStart(): Error %s encountered while waiting for the ACK.\n", - xbt_error_name(errcode)); - gras_sock_close(sock); - - grasRepportError(msg->sock,GRASMSG_SAT_STARTED,1, - "cbSatStart: Severe error: Cannot send error status to requester!!\n", - errcode, - "Cannot receive the ACK.\n"); - return 1; - } - - if((errcode=gras_msg_ctn(answer,0,0,msgError_t).errcode)) { - fprintf(stderr,"cbSatStart(): Peer reported error %s (%s).\n", - xbt_error_name(errcode),gras_msg_ctn(answer,0,0,msgError_t).errmsg); - - grasRepportError(msg->sock,GRASMSG_SAT_STARTED,1, - "cbSatStart: Severe error: Cannot send error status to requester!!\n", - errcode, - "Peer repported '%s'.\n",gras_msg_ctn(answer,0,0,msgError_t).errmsg); - gras_msg_free(answer); - gras_sock_close(sock); - return 1; - } - - raw_port=gras_msg_ctn(answer,1,0,SatExp_t).port; - - if ((errcode=gras_rawsock_client_open(to_name,raw_port,msgSize,&raw))) { - fprintf(stderr,"cbSatStart(): Error %s while opening raw socket to %s:%d.\n", - xbt_error_name(errcode),to_name,gras_msg_ctn(answer,1,0,SatExp_t).port); - - grasRepportError(msg->sock,GRASMSG_SAT_STARTED,1, - "cbSatStart: Severe error: Cannot send error status to requester!!\n", - errcode,"Cannot open raw socket.\n"); - gras_sock_close(sock); - return 1; - } - - /* send a train of data before repporting that XP is started */ - if ((errcode=gras_rawsock_send(raw,msgSize,msgSize))) { - fprintf(stderr,"cbSatStart: Failure %s during raw send\n",xbt_error_name(errcode)); - grasRepportError(msg->sock,GRASMSG_SAT_STARTED,1, - "cbSatStart: Severe error: Cannot send error status to requester!!\n", - errcode,"Cannot raw send.\n"); - gras_sock_close(sock); - gras_rawsock_close(raw); - return 1; - } - - grasRepportError(msg->sock,GRASMSG_SAT_STARTED,1, - "cbSatStart: Severe error: Cannot send error status to requester!!\n", - no_error,"Saturation started"); - gras_msg_free(answer); - gras_msg_free(msg); - - /* Do the saturation until we get a SAT_STOP message or until we timeout the whole XP*/ - start=gras_time(); - while (gras_msg_wait(0,GRASMSG_SAT_STOP,&msg)==timeout_error && - gras_time()-start < timeout) { - if ((errcode=gras_rawsock_send(raw,msgSize,msgSize))) { - fprintf(stderr,"cbSatStart: Failure %s during raw send\n",xbt_error_name(errcode)); - /* our error message do not interess anyone. SAT_STOP will do nothing. */ - gras_sock_close(sock); - gras_rawsock_close(raw); - return 1; - } - } - if (gras_time()-start > timeout) { - fprintf(stderr,"The saturation experiment did timeout. Stop it NOW\n"); - gras_sock_close(sock); - gras_rawsock_close(raw); - return 1; - } - - /* Handle the SAT_STOP which broke the previous while */ - - if ((errcode=gras_msg_new_and_send(sock, GRASMSG_SAT_END,0))) { - fprintf(stderr,"cbSatStart(): Cannot tell peer to stop saturation\n"); - - grasRepportError(msg->sock,GRASMSG_SAT_STOPPED,1, - "cbSatStart: Severe error: Cannot send error status to requester!!\n", - errcode,"Sending SAT_END to peer failed.\n"); - gras_sock_close(sock); - gras_rawsock_close(raw); - return 1; - } - - if ((errcode=gras_msg_wait(60,GRASMSG_SAT_ENDED,&answer))) { - fprintf(stderr,"cbSatStart(): Peer didn't ACK the end\n"); - - grasRepportError(msg->sock,GRASMSG_SAT_STOPPED,1, - "cbSatStart: Severe error: Cannot send error status to requester!!\n", - errcode,"Receiving SAT_ENDED from peer failed.\n"); - gras_sock_close(sock); - gras_rawsock_close(raw); - return 1; - } - grasRepportError(msg->sock,GRASMSG_SAT_STOPPED,1, - "cbSatStart: Severe error: Cannot send error status to requester!!\n", - no_error,""); - - gras_sock_close(sock); - gras_rawsock_close(raw); - gras_msg_free(answer); - gras_msg_free(msg); - - return 1; -} - -int grasbw_cbSatBegin(gras_msg_t *msg) { - gras_rawsock_t *raw; - xbt_error_t errcode; - double start; /* timer */ - /* request */ - unsigned int msgSize=gras_msg_ctn(msg,0,0,SatExp_t).msgSize; - unsigned int timeout=gras_msg_ctn(msg,0,0,SatExp_t).timeout; - /* answer */ - SatExp_t *request; - msgError_t *error; - - if (!(request=(SatExp_t*)malloc(sizeof(SatExp_t))) || - !(error=(msgError_t *)malloc(sizeof(msgError_t)))) { - fprintf(stderr,"cbSatBegin(): Malloc error\n"); - grasRepportError(msg->sock,GRASMSG_SAT_BEGUN,2, - "cbSatBegin: Severe error: Cannot send error status to requester!!\n", - malloc_error,"Malloc error"); - return 1; - } - - if ((errcode=gras_rawsock_server_open(6666,8000,msgSize,&raw))) { - fprintf(stderr,"cbSatBegin(): Error %s encountered while opening a raw socket\n", - xbt_error_name(errcode)); - grasRepportError(msg->sock,GRASMSG_SAT_BEGUN,2, - "cbSatBegin: Severe error: Cannot send error status to requester!!\n", - errcode,"Cannot open raw socket"); - return 1; - } - request->port=gras_rawsock_get_peer_port(raw); - request->msgSize=msgSize; - error->errcode=no_error; - error->errmsg[0]='\0'; - if ((errcode=gras_msg_new_and_send(msg->sock,GRASMSG_SAT_BEGUN,2, - error,1, - request,1))) { - fprintf(stderr,"cbSatBegin(): Error %s encountered while send ACK to peer\n", - xbt_error_name(errcode)); - return 1; - } - gras_msg_free(msg); - - start=gras_time(); - while (gras_msg_wait(0,GRASMSG_SAT_END,&msg)==timeout_error && - gras_time() - start < timeout) { - errcode=gras_rawsock_recv(raw,msgSize,msgSize,1); - if (errcode != timeout_error && errcode != no_error) { - fprintf(stderr,"cbSatBegin: Failure %s during raw receive\n",xbt_error_name(errcode)); - /* our error message do not interess anyone. SAT_END will do nothing. */ - /* (if timeout'ed, it may be because the sender stopped emission. so survive it) */ - return 1; - } - } - if (gras_time()-start > timeout) { - fprintf(stderr,"The saturation experiment did timeout. Stop it NOW.\n"); - gras_rawsock_close(raw); - return 1; - } - - grasRepportError(msg->sock,GRASMSG_SAT_ENDED,1, - "cbSatBegin: Cannot send SAT_ENDED.\n", - no_error,""); - gras_rawsock_close(raw); - gras_msg_free(msg); - return 1; -} - -xbt_error_t grasbw_saturate_stop(const char* from_name,unsigned int from_port, - const char* to_name,unsigned int to_port) { - xbt_error_t errcode; - gras_sock_t *sock; - gras_msg_t *answer; - - if((errcode=gras_sock_client_open(from_name,from_port,&sock))) { - fprintf(stderr,"saturate_stop(): Error %s encountered while contacting peer\n", - xbt_error_name(errcode)); - return errcode; - } - - if ((errcode=gras_msg_new_and_send(sock,GRASMSG_SAT_STOP,0))) { - fprintf(stderr,"saturate_stop(): Error %s encountered while sending request\n", - xbt_error_name(errcode)); - gras_sock_close(sock); - return errcode; - } - - if ((errcode=gras_msg_wait(120,GRASMSG_SAT_STOPPED,&answer))) { - fprintf(stderr,"saturate_stop(): Error %s encountered while receiving ACK\n", - xbt_error_name(errcode)); - gras_sock_close(sock); - return errcode; - } - - if((errcode=gras_msg_ctn(answer,0,0,msgError_t).errcode)) { - fprintf(stderr,"saturate_stop(): Peer reported error %s (%s).\n", - xbt_error_name(errcode),gras_msg_ctn(answer,0,0,msgError_t).errmsg); - gras_msg_free(answer); - gras_sock_close(sock); - return errcode; - } - - gras_msg_free(answer); - gras_sock_close(sock); - - return no_error; -} -#endif -- 2.20.1