- *sec=gras_os_time();
- TRY {
- gras_socket_meas_send(measOut,120,request->exp_size,request->msg_size);
- gras_socket_meas_recv(measIn,120,1,1);
- } CATCH(e) {
- gras_socket_close(measOut);
- gras_socket_close(measMasterIn);
- gras_socket_close(measIn);
- RETHROW0("Unable to conduct the experiment: %s");
- }
+ VERB5("The experiment was too short (%f sec<%f sec). Redo it with msg_size=%lu (nb_messages=%lu) (got %fMb/s)",
+ meas_duration, min_duration,
+ request->msg_size, request->msg_amount,
+ ((double)request->msg_size) * ((double)request->msg_amount / (*sec) /1024.0/1024.0));
+
+ gras_msg_rpccall(peer, 60, "BW reask",&request, NULL);
+ }
+
+ first_pass = 0;
+ *sec=gras_os_time();
+ TRY {
+ gras_socket_meas_send(measOut,120,request->msg_size,request->msg_amount);
+ DEBUG0("Data sent. Wait ACK");
+ gras_socket_meas_recv(measIn,120,1,1);
+ } CATCH(e) {
+ gras_socket_close(measOut);
+ gras_socket_close(measMasterIn);
+ gras_socket_close(measIn);
+ RETHROW0("Unable to conduct the experiment: %s");
+ }
+ *sec = gras_os_time() - *sec;
+ if (*sec != 0.0) {
+ *bw = ((double)request->msg_size) * ((double)request->msg_amount) / (*sec);
+ }
+ DEBUG1("Experiment done ; it took %f sec", *sec);
+ if (*sec <= 0) {
+ CRITICAL1("Nonpositive value (%f) found for BW test time.", *sec);
+ }