luasocket/TODO
2005-02-01 22:19:37 +00:00

74 lines
2.7 KiB
Plaintext

get rid of a = socket.try() in the manual, except for protected cases.
replace it with assert.
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.
check all "require("http")" etc in the manual.
_VERSION, _DEBUG, etc.
get rid of "base." kludge
make sure sock_gethostname.* only return success if the hp is not
null!
change 'l' prefix in C libraries to 'l-something'...
don't forget the declarations in luasocket.h and mime.h!!!
leave code for losers that don't have nanosleep
"foo.bar.baz" previously had to provide luaopen_foobarbaz() and now
should use luaopen_foo_bar_baz(). Change compat-5.1 and LuaSocket?
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().
*make sure standard libraries are "required" by modules before use.
*use wim's filter.chain or something better
*close wasn't returning 1
*make sure errors not thrown by try() are not caught by protect()
*move wsocket.c:sock_send kludge to buffer.c:sendraw?
*bug on UDP sendto.
*fix PROXY in http.lua
*use new distribution scheme
*create the getstats method.
*fix local domain socket kludge of name size
*use TLS
*sort out the wrap around of gettime...
*use doubles all over
*sock_send, sock_recv & sock_select use p_tm instead of timeout
*make select interrupt safe (will be with tm stuff)
*use GetSystemTimeAsFileTime in windows (WinCE will suffer document)
*add getstats to the manual
*Fazer compilar com g++
*test associativity of socket.select
* fix manual for send and receive
* add thanks to mike
* change sock:send to use indices just like string.sub?
* change sendraw to send by chunks