-/** \brief Send a chunk of (random) data over a measurement socket
- *
- * @param peer measurement socket to use for the experiment
- * @param timeout timeout (in seconds)
- * @param exp_size total amount of data to send (in bytes).
- * @param msg_size size of each chunk sent over the socket (in bytes).
- *
- * Calls to gras_socket_meas_send() and gras_socket_meas_recv() on
- * each side of the socket should be paired.
- *
- * The exchanged data is zeroed to make sure it's initialized, but
- * there is no way to control what is sent (ie, you cannot use these
- * functions to exchange data out of band).
- */
-void gras_socket_meas_send(gras_socket_t peer,
- unsigned int timeout,
- unsigned long int exp_size,
- unsigned long int msg_size) {
- char *chunk = xbt_malloc0(msg_size);
- unsigned long int exp_sofar;
-
- XBT_IN;
-
- xbt_assert0(peer->meas,"Asked to send measurement data on a regular socket");
- xbt_assert0(peer->outgoing,"Socket not suited for data send");
-
- for (exp_sofar=0; exp_sofar < exp_size; exp_sofar += msg_size) {
- CDEBUG5(trp_meas,"Sent %lu of %lu (msg_size=%ld) to %s:%d",
- exp_sofar,exp_size,msg_size,
- gras_socket_peer_name(peer), gras_socket_peer_port(peer));
- (*peer->plugin->raw_send)(peer,chunk,msg_size);
- }
- CDEBUG5(trp_meas,"Sent %lu of %lu (msg_size=%ld) to %s:%d",
- exp_sofar,exp_size,msg_size,
- gras_socket_peer_name(peer), gras_socket_peer_port(peer));
-
- free(chunk);