Re: StoreIOBuffer field types

From: Tsantilas Christos <chtsanti@dont-contact.us>
Date: Tue, 14 Aug 2007 15:57:11 +0300

Hi Amos,

Amos Jeffries wrote:
> One of them was unsafe use of a variable typed 'size_t' setting up
> StoreIOBUffer local variable
>
> The constructor using it is:
>
> StoreIOBuffer(size_t aLength, int64_t anOffset, char *someData) :
> length (aLength), offset (anOffset), data (someData)
> {
> flags.error = 0;
> }
>
>
> where length/aLength are the size_t in question.
>
> I had thought it the length of the buffer and offset in the buffer. But
> seeing the offset is now int64, is it the lengths of the file being
> buffered? In which case it should be a 64-bit too I think.
>

The StoreIOBuffer::length is buffer size and StoreIOBuffer::offset is
the offset inside the objects which must be 64 bit integer to allow
large objects passing through squid3.
I think it must be 64bit even if storing large objects does not
supported (it is not just an offset of a stored object) and this is why
the int64_t type used instead of off_t type.

Regards,
    Christos
Received on Tue Aug 14 2007 - 06:54:13 MDT

This archive was generated by hypermail pre-2.1.9 : Fri Aug 31 2007 - 12:00:05 MDT