int rows;
int cols;
double *ctn GRAS_ANNOTE(size, rows*cols);
-};);
+};)
typedef struct s_matrix matrix_t;
static void mat_dump(matrix_t *mat, const char* name) {
* Server code
* **********************************************************************/
-static int server_cb_request_handler(gras_socket_t expeditor, void *payload_data) {
+static int server_cb_request_handler(gras_msg_cb_ctx_t ctx, void *payload_data) {
+ gras_socket_t expeditor=gras_msg_cb_ctx_from(ctx);
/* 1. Get the payload into the data variable */
matrix_t *data=(matrix_t*)payload_data;
for (j=0; j<MATSIZE; j++)
request[1].ctn[i*MATSIZE+j] = i*MATSIZE+j;
}
- // mat_dump(&request[0],"C:sent0");
- // mat_dump(&request[1],"C:sent1");
+ /* mat_dump(&request[0],"C:sent0");*/
+ /* mat_dump(&request[1],"C:sent1");*/
gras_msg_send(toserver, gras_msgtype_by_name("request"), &request);
/* 8. Wait for the answer from the server, and deal with issues */
gras_msg_wait(6000,gras_msgtype_by_name("answer"),&from,&answer);
- // mat_dump(&answer,"C:answer");
+ /* mat_dump(&answer,"C:answer");*/
for (i=0; i<MATSIZE*MATSIZE; i++)
xbt_assert(answer.ctn[i]==i);
gras_socket_peer_name(from),gras_socket_peer_port(from));
/* 10. Free the allocated resources, and shut GRAS down */
+ free(answer.ctn);
gras_socket_close(toserver);
gras_exit();
INFO0("Done.");