diff options
author | Laurent Ghigonis <laurent@p1sec.com> | 2012-11-29 07:42:17 +0100 |
---|---|---|
committer | Laurent Ghigonis <laurent@p1sec.com> | 2012-11-29 07:42:17 +0100 |
commit | 18274274dac64d3ef2174b0782b270bc485f3016 (patch) | |
tree | 32b3defd32c3eb40d50c6b3c55b4f0b8477b515f /libglouglou/tests/connect.c | |
parent | fix error handling in "make run_loop (diff) | |
download | glouglou-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.c | 29 |
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); } |