talk about the non-blocking connect in the manual test it on Windows!!! think about a dispatcher. - it creates a server and receives a function that will do the work on received connections - this function is invoked with the client socket - it calls special send and receive functions that yield on timeout think about how to extend http, ftp, smtp to use special send and receive functions for non-blocking so they can be used in the context of the dispatcher! adjust manual for new sock:send returns. leave code for losers that don't have nanosleep ftp.send/recv return bytes transfered? new scheme to choose family/protocol of object to create change ltn13 to make sure drawbacks are obvious - check discussion use mike's "don't set to blocking before closing unless needed" patch? take a look at DB's smtp patch (add "extra argument" table) optmize aux_getgroupudata (Mike idea) make aux_newclass receive upvalues use one upvalue per string name of class/group make aux_checkgroup by upvalue (faster) add error message stuff to the manual make sure all modules that can use it actually use socket.newtry adicionar exemplos de expansão: pipe, local, named pipe testar os options! - Thread-safe - proteger get*by*.* com um mutex GLOBAL! - proteger ou atomizar o conjunto (timedout, receive), (timedout, send) - inet_ntoa também é uma merda. eliminate globals from namespaces created by module(). * BUG NO SET DO TINYIRC!!! SINISTRO. * _VERSION, _DEBUG, etc.