- 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;
- }