Added a file: ruby_binding/test_camping.rb
[ebb.git] / tcp_test.c
blob9bffff4595444b00ef231965c49d30adba5692d4
1 #include "tcp.h"
2 #include <stdio.h>
3 #include <stdlib.h>
5 GString *unit_test_input;
7 void unit_test_read_cb(char *buffer, int length, void *data)
9 tcp_peer *peer = (tcp_peer*)(data);
10 char *reversed = g_utf8_strreverse(buffer, length);
12 printf("read_cb called!\n");
13 //g_string_append_len(unit_test_input, buffer, length);
15 tcp_peer_write(peer, reversed, length);
17 free(reversed);
20 void unit_test_accept(tcp_peer *peer, void *data)
22 fprintf(stdout, "Connection\n");
23 peer->read_cb = unit_test_read_cb;
24 peer->read_cb_data = peer;
27 int main(void)
29 struct ev_loop *loop = ev_default_loop (0);
30 tcp_listener *listener;
31 unit_test_input = g_string_new(NULL);
33 listener = tcp_listener_new(loop);
35 fprintf(stdout, "Starting listener at 0.0.0.0 4001\n");
37 tcp_listener_listen(listener, "localhost", 4001, unit_test_accept, NULL);
39 ev_loop(loop, 0);
41 tcp_listener_free(listener);
43 return 0; // success