aboutsummaryrefslogtreecommitdiffstats
path: root/libglouglou/tests/connect.c
diff options
context:
space:
mode:
authorLaurent Ghigonis <laurent@p1sec.com>2012-11-29 07:42:17 +0100
committerLaurent Ghigonis <laurent@p1sec.com>2012-11-29 07:42:17 +0100
commit18274274dac64d3ef2174b0782b270bc485f3016 (patch)
tree32b3defd32c3eb40d50c6b3c55b4f0b8477b515f /libglouglou/tests/connect.c
parentfix error handling in "make run_loop (diff)
downloadglouglou-18274274dac64d3ef2174b0782b270bc485f3016.tar.xz
glouglou-18274274dac64d3ef2174b0782b270bc485f3016.zip
improve connection handling between server and client.
better API. skeletion for packet_decode()
Diffstat (limited to 'libglouglou/tests/connect.c')
-rw-r--r--libglouglou/tests/connect.c29
1 files changed, 19 insertions, 10 deletions
diff --git a/libglouglou/tests/connect.c b/libglouglou/tests/connect.c
index 8184e2d..b8f4d1f 100644
--- a/libglouglou/tests/connect.c
+++ b/libglouglou/tests/connect.c
@@ -2,12 +2,20 @@
#include "../libglouglou.h"
-int connect_ok = 0;
+int srv_connect_ok = 0;
+int cli_connect_ok = 0;
int
-handle_conn(struct gg_server *srv, int client_id, struct sockaddr_in *addr)
+srv_handle_conn(struct gg_server *srv, struct gg_user *usr, struct sockaddr_in *addr)
{
- connect_ok = 1;
+ srv_connect_ok = 1;
+ return 0;
+}
+
+int
+cli_handle_conn(struct gg_client *cli)
+{
+ cli_connect_ok = 1;
return 0;
}
@@ -17,20 +25,21 @@ main(void)
struct event_base *ev_base;
ev_base = event_base_new();
- if (!gg_server_start(ev_base, "127.0.0.1", 12345, handle_conn, NULL)) {
+ if (!gg_server_start(ev_base, "127.0.0.1", 12345, srv_handle_conn, NULL)) {
printf("error: gg_server_start returned NULL\n");
return 1;
}
- if (!gg_client_connect(ev_base, "127.0.0.1", 12345, NULL, NULL)) {
+ if (!gg_client_connect(ev_base, "127.0.0.1", 12345, cli_handle_conn, NULL)) {
printf("error: gg_client_connect returned NULL\n");
return 1;
}
event_base_loop(ev_base, EVLOOP_ONCE);
+ event_base_loop(ev_base, EVLOOP_ONCE);
- if (connect_ok == 0) {
- printf("error: connect_ok == 0\n");
- return 1;
- }
+ if (srv_connect_ok == 0)
+ printf("error: srv_connect_ok == 0\n");
+ if (cli_connect_ok == 0)
+ printf("error: cli_connect_ok == 0\n");
- return 0;
+ return (!srv_connect_ok || !cli_connect_ok);
}