CVS log for: cow.c

Revision 1.19 - roper - January 20, 2004 at 19:32:01
Branches: TRUNK
Diff to: 1.18, 1.17, 1.16, 1.15, 1.14, 1.13, 1.12, 1.11, 1.10, 1.9
Final cleanups before packaging and releasing.

Revision 1.18 - roper - December 02, 2003 at 22:32:05
Branches: TRUNK
Allow us to fork multiple processes if we're running out of FD's.  This
will use more memory, but will effectively allow us to have more files
(connections) open at a time.

Revision 1.17 - roper - November 07, 2003 at 18:50:08
Branches: TRUNK
Keep-alive actually works now.  Major request parsing cleanup.

Revision 1.16 - roper - October 28, 2003 at 17:33:23
Branches: TRUNK
Lots of changes:
 * Use either buffering code taken from Apache or TCP_CORK to minimize
   network traffic.
 * Sockets are now properly 'half-closed' before being truly closed
 * Make 503 responses a compile time option
 * Make HTTP PUT a compile time option
 * Added -b command line switch to change server's accept backlog
 * Lots of code cleanup
 * More statistics kept for verbose (-v) output

Revision 1.15 - roper - October 07, 2003 at 16:36:09
Branches: TRUNK
Removed terribly outdated non-pool code.  That code hasn't been maintained
for ages so CoW only really works with a prespawned pool of threads.

Revision 1.14 - roper - October 07, 2003 at 16:27:29
Branches: TRUNK
TCP_CORK used by default if available; can be disabled by autoconf.

Revision 1.13 - roper - September 22, 2003 at 23:52:56
Branches: TRUNK
- pth_writev() is used to combine headers with body instead of issuing
  multiple pth_write()'s; this should be faster because it results in
  fewer internal copies of the data
- filename(s) of index files can be set in cow.conf now
- added ability to limit response concurrency

Revision 1.12 - roper - August 28, 2003 at 22:39:07
Branches: TRUNK
 * can now build against libdmalloc
 * CoW can background itself (and does so by default)
 * fixed minor connection counting bug

Revision 1.11 - roper - August 15, 2003 at 17:53:37
Branches: TRUNK
- 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
- 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)

Revision 1.10 - roper - August 08, 2003 at 22:45:19
Branches: TRUNK
- added config option to disable TCP Nagle algorithm
- made request.c more lenient in terms of input; also heavily
  cleaned up/commented code

Revision 1.9 - roper - July 27, 2003 at 03:27:09
Branches: TRUNK
Actual 0.4.0 release
 - incorporate automake build system
 - better config file support
 - a stripped down, patched Pth is included
 - CoW looks for config file in /etc/cow.conf and /usr/local/etc/cow.conf
   now also

Revision 1.8 - roper - July 24, 2003 at 17:45:47
Branches: TRUNK
 * Added mime options to config file
 * Removed some unused constants
 * A little bit of error logging
 * Better detection of OS file descriptor limits

Revision 1.7 - roper - July 23, 2003 at 20:54:59
Branches: TRUNK
Many changes:
 - beginning of logging support
 - fix bug in Makefile for config.l.c
 - code reformatting
 - prepare for release (AUTHORS, Changelog, etc.)

Revision 1.6 - roper - July 21, 2003 at 20:00:23
Branches: TRUNK
Added configuration file support.  Also updated the build system some more.
Although the config file support is in place, not all of its options are
completely supported yet.

Revision 1.5 - roper - July 16, 2003 at 16:42:28
Branches: TRUNK
Force accept thread to wait if the depot falls behind and has a full message
queue.  This prevents the accept thread from reusing pmsg structures before
the depot has processed them (premature reuse of these structures caused the
same message to be placed on the message queue multiple times which caused
all kinds of internal pth problems).

Also fixed a couple compile-time warnings.

Revision 1.4 - roper - July 10, 2003 at 20:12:20
Branches: TRUNK
Fixed major depot loop bug that caused CoW to crash on the first request.
Also added lots of comments to the depot and made some more reformatting
changes.

Revision 1.3 - roper - July 10, 2003 at 15:52:30
Branches: TRUNK
Indentation changes and minor build fix.

Revision 1.2 - roper - July 09, 2003 at 17:02:00
Branches: TRUNK
Changed indentation style.

Revision 1.1.1.1 - roper - July 03, 2003 at 21:14:41
Branches: TRUNK
Initial import of Takashi's CoW code (version 0.3.2).

Revision 1.1 - roper - July 03, 2003 at 21:14:41
Branches: 1.1.1.1
Initial revision