Changeset 40134

Timestamp:
Oct 17, 2007, 8:10:39 PM (15 years ago)
Author:
Darren Garvey
Message:

Added a basic_client class, that is a level between a request and the connection associated with it, which controls the input and output formatting and scheduling. For instance, in the case of FastCGI - at least as is planned at the time of writing - it is the client which is responsible for wrapping a buffer in the protocol-specific way; it must also ensure that a client holds a connection until it has sent each packet fully. In other words, so a shared connection doesn't steal the connection between a couple of read/write_some`s and break the output (which would essentially compromise safety quite significantly - if output from different sessions is interleaved).

Also added a shareable_tcp_socket which has a boost::mutex and boost::condition to simplify mutiplexing.

(No files)

Note: See TracChangeset for help on using the changeset viewer.