aboutsummaryrefslogtreecommitdiff
path: root/TODO
blob: 19c931954a47218fcfa70bb060e056bb52c4c005 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43

BUG NO SET DO TINYIRC!!! SINISTRO.
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.
_VERSION, _DEBUG, etc.

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().