/* Global private data */
typedef struct {
- gras_socket_t sock;
+ xbt_socket_t sock;
int endcondition;
} server_data_t;
static int server_cb_ping_handler(gras_msg_cb_ctx_t ctx, void *payload)
{
-
- xbt_ex_t e;
/* 1. Get the payload into the msg variable, and retrieve my caller */
int msg = *(int *) payload;
- gras_socket_t expeditor = gras_msg_cb_ctx_from(ctx);
+ xbt_socket_t expeditor = gras_msg_cb_ctx_from(ctx);
/* 2. Retrieve the server's state (globals) */
/* 3. Log which client connected */
XBT_INFO(">>>>>>>> Got message PING(%d) from %s:%d <<<<<<<<",
msg,
- gras_socket_peer_name(expeditor),
- gras_socket_peer_port(expeditor));
+ xbt_socket_peer_name(expeditor),
+ xbt_socket_peer_port(expeditor));
/* 4. Change the value of the msg variable */
msg = 4321;
gras_msg_send(expeditor, "pong", &msg);
/* 6. Deal with errors: add some details to the exception */
- } CATCH(e) {
+ }
+ CATCH_ANONYMOUS {
gras_socket_close(globals->sock);
- RETHROW0("Unable answer with PONG: %s");
+ RETHROWF("Unable answer with PONG: %s");
}
XBT_INFO(">>>>>>>> Answered with PONG(4321) <<<<<<<<");
gras_cb_register("ping", &server_cb_ping_handler);
XBT_INFO(">>>>>>>> Listening on port %d <<<<<<<<",
- gras_socket_my_port(globals->sock));
+ xbt_socket_my_port(globals->sock));
globals->endcondition = 0;
- /* 6. Wait up to 10 minutes for an incomming message to handle */
+ /* 6. Wait up to 10 minutes for an incoming message to handle */
gras_msg_handle(10.0);
/* 7. Housekeeping */