Not super fair to say linux sockets (in the README) and I/O in the title when it's really just a TCP client - you force SOCK_STREAM and bind(2).
template <typename G, typename H> int moustique_listen(int listen_fd, G closed_connection_handler, H data_handler);
Great project by the way - I've put it on my workbench-TODO for a little hacking some time in the next few days. I've got a standard 'command processing server' project that I've been hacking on over the years, I might try to hack up a moustique_ integration, just for grins.