|
0.4.2:
- in order to minimize TCP packets, CoW uses a user-space buffering scheme
derived from Apache's code
- KeepAlive is implemented and actually works now
- included copy of GNU Pth has experimental sys_epoll support now; in
theory this should be a lot faster than the current select() code
- filename(s) of index files can be set in cow.conf now
- 503 responses are no longer sent unless --enable-503 is specified during
configuration; this was never actually getting used and probably would
have just wasted resources
- HTTP PUT requests are disabled unless --enable-put is passed at
configuration
- socket backlog can be set with a -b command line
- CoW properly 'half-closes' sockets now as required by HTTP/1.1
- lots of code cleanup
0.4.1:
- fixed critical bug that caused only the first part (probably about 256K)
of a file to actually be returned to the user
- CoW was using a pool of pmsg structures for communication between the
main thread and the depot, but was malloc'ing messages sent from the
depot to the handlers; messages are now forwarded to handlers instead of
copied so we avoid the malloc overhead
- ability to disable the Nagle algorithm is provided as an option (Nagle
remains enabled by default)
- CoW now re-uses server socket so we don't have to wait a couple minutes
after shutdown before restarting (avoids "Address in use" messages)
- Popular mime types now "bubble" up to the top of the mime type list over
time, making them less expensive to lookup in the future.
- CoW is more lenient in many ways; it accepts use of \n instead of \r\n
in headers and will silently ignore unrecognized/malformed headers
- CoW now backgrounds itself unless -d is passed on the command line
- fixed minor bug in connection counting
- can now build against DMalloc memory debugger library
- code cleanup and commenting, especially in request.c
|