ce0136a6dea3fa9f04c91f4a8088677afff0ad54
[radsecproxy.git] / lib / tests / udp-server.c
1 #include <stdlib.h>
2 #include <stdio.h>
3 #include "udp.h"
4
5 ssize_t
6 handle_data (const uint8_t *buf, ssize_t len)
7 {
8   return hd (buf, len);
9 }
10
11 int
12 main (int argc, char *argv[])
13 {
14   int n, i;
15   struct timeval tv;
16   struct polldata *data;
17
18 #define TIMEOUT 1               /* Seconds.  */
19
20   tv.tv_sec = TIMEOUT;
21   tv.tv_usec = 0;
22   data = udp_server (argv[1], &tv, handle_data);
23
24   for (i = 0, n = udp_poll (data); n == 0 && i < 3; n = udp_poll (data), i++)
25     {
26       fprintf (stderr, "waiting another %ld second%s\n",
27                tv.tv_sec, tv.tv_sec > 1 ? "s" : "");
28     }
29
30   udp_free_polldata (data);
31   return (n <= 0);
32 }