On the cleanup branch I've been going through and trying to document
what the client-side classes do.
As you probably know their names only have loose affiliation with their
operation and there is a LOT of scope creep blurring the boundaries.
Below are the steps I'm seriously considering making to trunk over the
new few weeks in order to be able to clarify and document the scopes
properly.
1) I would like to rename ConnStateData to "ConnectionManager" since its
core scope seems to be:
* owning the client FD
* owning the request transaction state object(s)
* passing data to the request parser
* managing read/write ops with the client-streams buffers
ie (ultimate Producer for request and Consumer for reply)
2) I would like to rename ClientSocketContext as ClientXaction since its
core scope seems to be owning the processing state flags.
This would eventually become the master transaction object, storing
the log history and master pointers to bits of data.
Although there is a lot of change before it gets to be used
everywhere. Starting with turning its doCallouts with Async steps.
3) deflating the parser levels and documenting the structure of
ownership for each parse step.
I've started with breaking HttpParser out of HttpMsg.*.
4) figuring out if we actually need ClientHttpRequest after the above.
Ideas? opinions? stuff I've overlooked?
Amos
-- Please be using Current Stable Squid 2.7.STABLE9 or 3.1.11 Beta testers wanted for 3.2.0.5Received on Sat Mar 26 2011 - 09:49:55 MDT
This archive was generated by hypermail 2.2.0 : Tue Mar 29 2011 - 12:00:04 MDT