TODO 1.58 KB
VERY BIG TODO:
- right now i will use long polling ajax calls when feedback from to the client
  is needed. In the long term this should be changed to websockets (ws). But
  right now ws specification is not final anyway. :)

- handle errors after all system call...especially open, close, etc.

- IPV6 support

- There seem to be a problem in the server under heavy load. Some tests with ab show that at some point it does not accept any more connections. Nor does it seem to answer request. I guess that it might be difficult to find this....
  => might be done... maybe not completely, I still loose connections under very high load.

- using tsearch for my memory management was kind of a bad idea. tsearch uses malloc and free upon addition and remove of elements. Resulting again in uncontroolled heap usage. I guess I have to implement my own tree mechanism here, which does not involve further allocation.

- another bug: if there is trailing garbage on the header line
  we got a segfault...

  GET /images/waldschrat.jpg HTTP/1.1^[[D^[[D^[[D^[[D^[[D^[[D^[[D^[[D^[[D^[[D^[[D^[[D^[[D^[[D
  ^[[D = backspace...

- the unexpected connection close seems to occur just on concurrency over
  1000 paralell connections...maybe this gives a hint.

- after changing to non blocking sockets the server hangs after some requests.
  have to check when this happens....
  * it seems that it does not occur without keep-alive and concurrency
  * also concurrent connection don't seem to make a problem.
  * keep-alive alone again don't seem to be a problem...
  !!!! if both are active something is screwed up.... !!!!