
<snip>
s = init_sockeng(); l = s->create_listener(s, 1111, NULL); </snip>
IP? How would it detect IP protocol? Is it limited to just tcp, or is udp an option? How about low level socket operations, such as buffers, reuse and timeouts? <snip>
l->set_packeter(l, client_packet_delim); l->set_parser(l, client_echo_parser); l->set_onclose(l, client_disconnecty); </snip>
Perhaps these should be set in a fashion similar to setsockopt, so as to decrease the overall footprint of the system? 'Tis a lot easier for a compiler and strip to optimize a single function with a switch/case than 3+ functions. I'm also interested in how you'd go about passing messages between threads without corruption and without blocking. (That's one of many things I suck at when it comes to threads.)