]> git.kaiwu.me - haproxy.git/commit
[MAJOR] clearly separate HTTP response processing from TCP server state
authorWilly Tarreau <w@1wt.eu>
Fri, 15 Aug 2008 21:43:19 +0000 (23:43 +0200)
committerWilly Tarreau <w@1wt.eu>
Fri, 15 Aug 2008 21:43:19 +0000 (23:43 +0200)
commit461f6628462bffc89e999f01b01a594f4e5e8e76
tree00a92996aa8ebc782070f9cb83a689f8d729af97
parentcebf57e0bf53cf0d61622e98832289ad50c96b1d
[MAJOR] clearly separate HTTP response processing from TCP server state

The HTTP response is now processed in its own function, regardless of
the TCP state. All FSMs have become fairly simpler and must still be
improved by removing useless CL_STSHUT* and SV_STSHUT* (still used by
proto_uxst). The number of calls to process_* is still huge though.

Next steps consist in :
  - removing useless assignments of CL_STSHUT* and SV_STSHUT*
  - add a BF_EMPTY flag to buffers to indicate an empty buffer
  - returning smarter values in process_* so that each callee
    may explicitly indicate whom needs to be called after it.
  - unify read and write timeouts for a same side. The way it
    is now is too complicated and error-prone
  - auditing code for regression testing

We're close to getting something which works fairly better now.
src/proto_http.c