Re: squid3-largeobj: more changes ....

From: Tsantilas Christos <chtsanti@dont-contact.us>
Date: Sun, 06 May 2007 11:51:54 +0300

A more completed patch for large objects support

It contains all previous changes plus:
- HttpReply::bodySize must return 64 bit integer.
- Some changes inside ClientHttpRequest::mRangeCLen method to use 64bit
integers.
- Some changes inside HttpStateData::persistentConnStatus to use 64bit
integers
- Remove or change some castings in file store_Client.cc

This patch apply to the squid3-largeobj branch.
I test it and worked for me.
I also test range headers, ftp and ICAP client. Looks good.
I did not test large objects uploads.

Regards,
      Christos

Tsantilas Christos wrote:
> Hi,
> Some changes for squid3-largeobj branch, mostly related with Range
> Headers and ICAP client.
> It is not fully tested, but I believe that it is near to provide full
> large objects support (but not large objects caching)
> The first tests are OK for me (ICAP still is not tested).
>
> It is difficult to explain all changes so I will try to list the changes
> of class member variables.
>
> - First of all I changed the
> size_t Range<c>::size()
> to
> C Range<c>::size()
> This is because it is used in range headers in which the size can be
> bigger than the maximum value of size_t.
> It also make sense the size of a range of 32bit integers to be 32bit
> integer and the range of 64bit integers to be a 64bit integer
>
> - BodyPipe::theBodySize,thePutSize,theGetSize must be 64bit
> - Header Ranges changes:
> HttpHdrContRange::elength must be 64bit integer
> HttpHdrRangeSpec::offset,length must be 64bit
> HttpHdrRangeSpec::HttpRange must be of type Range<int64_t>
> HttpHdrRange::clen must be 64 bit
> HttpHdrRangeIter::debt_size must be 64bit
> - I am adding the function StringToInt64(const char *str, int64_t
> &result, const char **p, int base);
>
>
> The ICAP client related changes are:
>
> - ChunkedCodingParser::theChunkSize,
> ChunkedCodingParser::theLeftBodySize must be 64bit
> - SizedEstimate::theData, must be 64 bit
> - VirginBodyAct::theStart must be 64 bit
> - ICAPModXact::virginConsumed must be 64 bit
>
>
> Regards,
> Christos
>
>
>

Received on Sun May 06 2007 - 02:50:26 MDT

This archive was generated by hypermail pre-2.1.9 : Fri Jun 01 2007 - 12:00:08 MDT