/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
-#define GRAS_DEFINE_TYPE_EXTERN
+#define XBT_DEFINE_TYPE_EXTERN
#include "xbt/matrix.h"
#include "mmrpc.h"
void *payload_data)
{
- gras_socket_t expeditor = gras_msg_cb_ctx_from(ctx);
+ xbt_socket_t expeditor = gras_msg_cb_ctx_from(ctx);
/* 1. Get the payload into the data variable */
xbt_matrix_t *request = (xbt_matrix_t *) payload_data;
return 0;
} /* end_of_server_cb_request_handler */
+static xbt_socket_t try_gras_socket_server(int port)
+{
+ volatile xbt_socket_t sock = NULL;
+ TRY {
+ sock = gras_socket_server(port);
+ }
+ CATCH_ANONYMOUS {
+ RETHROWF("Unable to establish a server socket: %s");
+ }
+ return sock;
+}
+
int server(int argc, char *argv[])
{
- gras_socket_t sock = NULL;
+ xbt_socket_t sock = NULL;
int port = 4002;
/* 1. Init the GRAS infrastructure */
/* 5. Create my master socket */
XBT_INFO("Launch server (port=%d)", port);
- TRY {
- sock = gras_socket_server(port);
- }
- CATCH_ANONYMOUS {
- RETHROWF("Unable to establish a server socket: %s");
- }
+ sock = try_gras_socket_server(port);
- /* 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(600.0);
/* 7. Free the allocated resources, and shut GRAS down */