static void forward_get_suc(get_suc_t msg, char host[1024], int port)
{
gras_socket_t temp_sock = NULL;
- xbt_ex_t e; // the error variable used in TRY.. CATCH tokens.
//XBT_INFO("Transmiting message to %s:%d",host,port);
TRY {
temp_sock = gras_socket_client(host, port);
- } CATCH(e) {
- RETHROW0("Unable to connect!: %s");
+ }
+ CATCH_ANONYMOUS {
+ RETHROWF("Unable to connect!: %s");
}
TRY {
gras_msg_send(temp_sock, "can_get_suc", &msg);
- } CATCH(e) {
- RETHROW0("Unable to send!: %s");
+ }
+ CATCH_ANONYMOUS {
+ RETHROWF("Unable to send!: %s");
}
XBT_INFO("Forwarding a get_successor message to %s for (%d;%d)", host,
msg.xId, msg.yId);
TRY {
temp_sock = gras_socket_client(incoming->host, incoming->port);
}
- CATCH(e) {
- RETHROW0
+ CATCH_ANONYMOUS {
+ RETHROWF
("Unable to connect to the node wich has requested for an area!: %s");
}
TRY {
gras_msg_send(temp_sock, "can_rep_suc", &outgoing);
XBT_INFO("Environment informations sent!");
}
- CATCH(e) {
- RETHROW2("%s:Timeout sending environment informations to %s: %s",
+ CATCH_ANONYMOUS {
+ RETHROWF("%s:Timeout sending environment informations to %s: %s",
globals->host, gras_socket_peer_name(expeditor));
}
gras_socket_close(temp_sock);
XBT_INFO("My area is [%d;%d;%d;%d]", globals->x1, globals->x2,
globals->y1, globals->y2);
//XBT_INFO("Closing node, all has been done!");
+ xbt_ex_free(e);
}
return 0;
}
TRY {
temp_sock = gras_socket_client(argv[4], atoi(argv[5]));
}
- CATCH(e) {
- RETHROW0("Unable to connect known host to request for an area!: %s");
+ CATCH_ANONYMOUS {
+ RETHROWF("Unable to connect known host to request for an area!: %s");
}
TRY { // asking.
gras_msg_send(temp_sock, "can_get_suc", &get_suc_msg);
}
- CATCH(e) {
+ CATCH_ANONYMOUS {
gras_socket_close(temp_sock);
- RETHROW0("Unable to contact known host to get an area!: %s");
+ RETHROWF("Unable to contact known host to get an area!: %s");
}
gras_socket_close(temp_sock);
XBT_INFO("Waiting for reply!");
gras_msg_wait(6000, "can_rep_suc", &temp_sock2, &rep_suc_msg);
}
- CATCH(e) {
- RETHROW1("%s: Error waiting for an area:%s", globals->host);
+ CATCH_ANONYMOUS {
+ RETHROWF("%s: Error waiting for an area:%s", globals->host);
}
// retreiving the data of the response.
XBT_INFO("My area is [%d;%d;%d;%d]", globals->x1, globals->x2,
globals->y1, globals->y2);
//XBT_INFO("Closing node, all has been done!");
+ xbt_ex_free(e);
}
gras_socket_close(globals->sock); // spare.