A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
use gras_exit, not only xbt_exit
[simgrid.git]
/
examples
/
ping
/
ping.c
diff --git
a/examples/ping/ping.c
b/examples/ping/ping.c
index
39ca8dd
..
460e304
100644
(file)
--- a/
examples/ping/ping.c
+++ b/
examples/ping/ping.c
@@
-2,19
+2,18
@@
/* ping - ping/pong demo of GRAS features */
/* ping - ping/pong demo of GRAS features */
-/* Authors: Martin Quinson */
-/* Copyright (C) 2003 the OURAGAN project. */
+/* Copyright (c) 2003, 2004 Martin Quinson. All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
/* 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. */
+
*
under the terms of the license (GNU LGPL) which comes with this package. */
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
-#include
<gras.h>
+#include
"gras.h"
-
GRAS_LOG_NEW_DEFAULT_CATEGORY(Ping
);
+
XBT_LOG_NEW_DEFAULT_CATEGORY(Ping,"Messages specific to this example"
);
/* **********************************************************************
* Comon code
/* **********************************************************************
* Comon code
@@
-25,17
+24,13
@@
typedef struct {
} msg_ping_t;
/* Function prototypes */
} msg_ping_t;
/* Function prototypes */
-
gras_error_t
register_messages(void);
+
void
register_messages(void);
/* Code */
/* Code */
-gras_error_t register_messages(void) {
- gras_error_t errcode;
- gras_msgtype_t *msg_t; /* FIXME: not needed */
+void register_messages(void) {
- TRY(gras_msgtype_declare("ping", gras_datadesc_by_name("int"), &msg_t));
- TRY(gras_msgtype_declare("pong", gras_datadesc_by_name("int"), &msg_t));
-
- return no_error;
+ gras_msgtype_declare("ping", gras_datadesc_by_name("int"));
+ gras_msgtype_declare("pong", gras_datadesc_by_name("int"));
}
/* **********************************************************************
}
/* **********************************************************************
@@
-44,20
+39,20
@@
gras_error_t register_messages(void) {
/* Global private data */
typedef struct {
/* Global private data */
typedef struct {
- gras_socket_t
*
sock;
+ gras_socket_t sock;
int endcondition;
} server_data_t;
/* Function prototypes */
int endcondition;
} server_data_t;
/* Function prototypes */
-int server_cb_ping_handler(gras_socket_t
*
expeditor,
- void
*payload_data);
+int server_cb_ping_handler(gras_socket_t expeditor,
+ void *payload_data);
int server (int argc,char *argv[]);
int server (int argc,char *argv[]);
-int server_cb_ping_handler(gras_socket_t
*
expeditor,
- void
*payload_data) {
+int server_cb_ping_handler(gras_socket_t expeditor,
+ void *payload_data) {
-
gras
_error_t errcode;
+
xbt
_error_t errcode;
int msg=*(int*)payload_data;
gras_msgtype_t *pong_t=NULL;
int msg=*(int*)payload_data;
gras_msgtype_t *pong_t=NULL;
@@
-70,11
+65,10
@@
int server_cb_ping_handler(gras_socket_t *expeditor,
gras_socket_peer_port(expeditor));
msg = 4321;
gras_socket_peer_port(expeditor));
msg = 4321;
- TRY(gras_msgtype_by_name("pong",&pong_t));
- errcode = gras_msg_send(expeditor, pong_t, &msg);
+ errcode = gras_msg_send(expeditor, gras_msgtype_by_name("pong"), &msg);
if (errcode != no_error) {
if (errcode != no_error) {
- ERROR1("SERVER: Unable answer with PONG: %s\n",
gras
_error_name(errcode));
+ ERROR1("SERVER: Unable answer with PONG: %s\n",
xbt
_error_name(errcode));
gras_socket_close(g->sock);
return 1;
}
gras_socket_close(g->sock);
return 1;
}
@@
-86,13
+80,13
@@
int server_cb_ping_handler(gras_socket_t *expeditor,
}
int server (int argc,char *argv[]) {
}
int server (int argc,char *argv[]) {
-
gras
_error_t errcode;
+
xbt
_error_t errcode;
server_data_t *g;
gras_msgtype_t *ping_msg=NULL;
int port = 4000;
server_data_t *g;
gras_msgtype_t *ping_msg=NULL;
int port = 4000;
- gras_init(&argc,argv);
+ gras_init(&argc,argv
, NULL
);
g=gras_userdata_new(server_data_t);
if (argc == 2) {
g=gras_userdata_new(server_data_t);
if (argc == 2) {
@@
-103,29
+97,26
@@
int server (int argc,char *argv[]) {
if ((errcode=gras_socket_server(port,&(g->sock)))) {
CRITICAL1("Error %s encountered while opening the server socket",
if ((errcode=gras_socket_server(port,&(g->sock)))) {
CRITICAL1("Error %s encountered while opening the server socket",
-
gras
_error_name(errcode));
+
xbt
_error_name(errcode));
return 1;
}
return 1;
}
- TRYFAIL(register_messages());
- TRYFAIL(register_messages());
- TRYFAIL(gras_msgtype_by_name("ping",&ping_msg));
- TRYFAIL(gras_cb_register(ping_msg,&server_cb_ping_handler));
+ register_messages();
+ register_messages();
+ gras_cb_register(gras_msgtype_by_name("ping"),&server_cb_ping_handler);
INFO1("SERVER: >>>>>>>> Listening on port %d <<<<<<<<",
gras_socket_my_port(g->sock));
g->endcondition=0;
INFO1("SERVER: >>>>>>>> Listening on port %d <<<<<<<<",
gras_socket_my_port(g->sock));
g->endcondition=0;
- while (1) {
- errcode = gras_msg_handle(10.0);
- if (errcode != no_error && errcode != timeout_error)
- return errcode;
- if (g->endcondition)
- break;
- }
+ errcode = gras_msg_handle(600.0);
+ if (errcode != no_error)
+ return errcode;
+ if (g->endcondition)
if (!gras_if_RL())
if (!gras_if_RL())
- gras_sleep(5,0);
+ gras_os_sleep(1,0);
+
gras_socket_close(g->sock);
free(g);
gras_exit();
gras_socket_close(g->sock);
free(g);
gras_exit();
@@
-139,24
+130,23
@@
int server (int argc,char *argv[]) {
/* Global private data */
typedef struct {
/* Global private data */
typedef struct {
- gras_socket_t
*
sock;
+ gras_socket_t sock;
} client_data_t;
/* Function prototypes */
int client (int argc,char *argv[]);
int client(int argc,char *argv[]) {
} client_data_t;
/* Function prototypes */
int client (int argc,char *argv[]);
int client(int argc,char *argv[]) {
-
gras
_error_t errcode;
+
xbt
_error_t errcode;
client_data_t *g;
client_data_t *g;
- gras_socket_t
*
from;
+ gras_socket_t from;
int ping, pong;
int ping, pong;
- gras_msgtype_t *msg_ping_type=NULL, *msg_pong_type=NULL;
const char *host = "127.0.0.1";
int port = 4000;
const char *host = "127.0.0.1";
int port = 4000;
- gras_init(&argc, argv);
+ gras_init(&argc, argv
, NULL
);
g=gras_userdata_new(client_data_t);
if (argc == 3) {
g=gras_userdata_new(client_data_t);
if (argc == 3) {
@@
-165,28
+155,25
@@
int client(int argc,char *argv[]) {
}
INFO2("Launch client (server on %s:%d)",host,port);
}
INFO2("Launch client (server on %s:%d)",host,port);
- if (!gras_if_RL())
- gras_sleep(5,0); /* Wait for the server to be setup */
+ gras_os_sleep(1,0); /* Wait for the server startup */
if ((errcode=gras_socket_client(host,port,&(g->sock)))) {
ERROR1("Client: Unable to connect to the server. Got %s",
if ((errcode=gras_socket_client(host,port,&(g->sock)))) {
ERROR1("Client: Unable to connect to the server. Got %s",
-
gras
_error_name(errcode));
+
xbt
_error_name(errcode));
return 1;
}
INFO2("Client: Connected to %s:%d.",host,port);
return 1;
}
INFO2("Client: Connected to %s:%d.",host,port);
- TRY(register_messages());
- TRY(gras_msgtype_by_name("ping",&msg_ping_type));
- TRY(gras_msgtype_by_name("pong",&msg_pong_type));
+ register_messages();
INFO2("Client: >>>>>>>> Connected to server which is on %s:%d <<<<<<<<",
gras_socket_peer_name(g->sock),gras_socket_peer_port(g->sock));
ping = 1234;
INFO2("Client: >>>>>>>> Connected to server which is on %s:%d <<<<<<<<",
gras_socket_peer_name(g->sock),gras_socket_peer_port(g->sock));
ping = 1234;
- errcode = gras_msg_send(g->sock,
msg_ping_type
, &ping);
+ errcode = gras_msg_send(g->sock,
gras_msgtype_by_name("ping")
, &ping);
if (errcode != no_error) {
fprintf(stderr, "Client: Unable send PING to server (%s)\n",
if (errcode != no_error) {
fprintf(stderr, "Client: Unable send PING to server (%s)\n",
-
gras
_error_name(errcode));
+
xbt
_error_name(errcode));
gras_socket_close(g->sock);
return 1;
}
gras_socket_close(g->sock);
return 1;
}
@@
-194,10
+181,10
@@
int client(int argc,char *argv[]) {
ping,
gras_socket_peer_name(g->sock),gras_socket_peer_port(g->sock));
ping,
gras_socket_peer_name(g->sock),gras_socket_peer_port(g->sock));
- if ((errcode=gras_msg_wait(6000,
-
msg_pong_type,
&from,&pong))) {
+ if ((errcode=gras_msg_wait(6000,
gras_msgtype_by_name("pong"),
+ &from,&pong))) {
ERROR1("Client: Why can't I get my PONG message like everyone else (%s)?",
ERROR1("Client: Why can't I get my PONG message like everyone else (%s)?",
-
gras
_error_name(errcode));
+
xbt
_error_name(errcode));
gras_socket_close(g->sock);
return 1;
}
gras_socket_close(g->sock);
return 1;
}