small clean up in read_cb api
[ebb.git] / tcp_server_test.c
blobfcf80ee7185a24a4e5a9405459b8c77a2f1253e0
1 #include "tcp_server.h"
2 #include "error_callback.h"
3 #include <stdio.h>
4 #include <stdlib.h>
6 /* Unit tests */
7 void unit_test_error(int severity, char *message)
9 printf("ERROR(%d) %s\n", severity, message);
10 if(severity == ERROR_CB_FATAL) { exit(1); }
13 GString *unit_test_input;
15 void unit_test_read_cb(char *buffer, int length, void *data)
17 tcp_client *client = (tcp_client*)(data);
18 GString *reversed = g_string_new(g_utf8_strreverse(buffer, length));
20 //g_string_append_c(reversed, '\n');
22 g_string_append_len(unit_test_input, buffer, length);
24 tcp_client_write(client, reversed->str, reversed->len);
27 void unit_test_accept(tcp_server *server, tcp_client *client, void *data)
29 fprintf(stdout, "Connection!\n");
30 client->read_cb = unit_test_read_cb;
31 client->read_cb_data = client;
33 //tcp_client_close(client);
34 //tcp_server_close(server);
37 int main(void)
39 tcp_server *server;
40 unit_test_input = g_string_new(NULL);
41 server = tcp_server_new(unit_test_error);
43 fprintf(stdout, "Starting server at 0.0.0.0 31337\n");
45 tcp_server_listen(server, "localhost", 31337, 1024, unit_test_accept, NULL);
47 tcp_server_close(server);
49 return 0; // success