luasocket/TODO

102 lines
2.4 KiB
Plaintext
Raw Normal View History

2003-11-27 01:30:54 +01:00
check for interrupt compliance
add connect with timeout
add gethostname and use it in HTTP, SMTP etc, and add manual entry.
add local connect, and manual entry
add shutdown manual entry
only allocate in case of success
only call select if io fails...
Proxy support pro http
2003-11-27 01:30:54 +01:00
make REUSEADDR an option...
make sure modules know if their dependencies are there.
_
2003-11-27 01:30:54 +01:00
one thing i noticed in usocket.c is that it doesn't check for EINTR
after write(), sendto(), read(), recvfrom() etc. ? the usual trick is
to loop while you get EINTR:
do
ret = write(...);
while(ret < 0 && errno == EINTR)
Read about
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH GSSAPI
250-DELIVERBY
250 HELP
Change return of send and receive callbacks to allow for
new functions. "" signals end of transmission. Pass total
number of bytes in request table for HTTP. Callback has nothing
to do with it.
Make sure nobody can fuck up with the metatables...
Create a passive mode option for the FTP (good for firewall).
Use environments in module definitions or declare all local and create the
function with exported symbols later?
local P = {}
complex = P
setfenv(1, P)
Modules should return their namespace table in the end of the chunk.
Adjust dates in all files
Test the library on every system possible
Document socket.time and socket.sleep
Implement time critical stuff from code module in C.
Add service name translation.
Ajeitar o protocolo da luaopen_socket()... sei l<> qual <20>.
- testar os options!
- adicionar exemplos de expans<6E>o: pipe, local, named pipe
2003-03-21 02:07:23 +01:00
* add shutdown
* change send/recv to avoid using select
2003-03-21 02:07:23 +01:00
* O location do "redirect" pode ser relativo ao servidor atual (n<>o pode,
mas os servidores fazem merda...)
* Ajeitar para Lua 5.0
* Padronizar os retornos de funccao
* Separar as classes em arquivos
* Retorno de sendto em datagram sockets pode ser refused
* Fazer compilar com g++
2003-03-21 02:07:23 +01:00
- Thread-safe
- proteger gethostby*.* com um mutex GLOBAL!
- proteger ou atomizar o conjunto (timedout, receive), (timedout, send)
- inet_ntoa tamb<6D>m <20> uma merda.
2003-03-21 02:07:23 +01:00
- SSL
- checar opera<72><61>es em closed sockets
- checar teste de writable socket com select
- checar todos os metodos
- checar options em UDP
- checar todas as globais
- checar os metodos virtuais
- checar garbage collection
- unix 92 bytes maximo no endere<72>o, incluindo o zero
- unix 9216 maximo de datagram size