hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Moore, Jonathan" <Jonathan_Mo...@Comcast.com>
Subject RE: HTTP cache API changes
Date Wed, 04 Aug 2010 14:11:01 GMT
Hi Oleg,

I'll see if I can take a look later today at these.

Regarding the SizeLimitedResponseReader, the main reason we currently read things into an
in-memory buffer is so that we can correctly handle a streamed response with chunked transfer
that ends up being too big: we can't tell ahead of time if we will be able to cache it or
not, since it doesn't have an explicit Content-Length, so we optimistically read the response
into a buffer. If the response ends before we get "too big", then we just pass the buffer
to the cache. If the response still hasn't ended when we get to "too big", then we reconstruct
the original response to pass on to our client by replaying the original stream out of the
buffer and then continuing with the rest of the (unconsumed) response stream.

If you're just talking about an optimization where we explicitly know we'll be constructing
a cache entry from the response before starting to consume the response body, then I think
that's probably fine.

Jon Moore
Comcast Interactive Media

-----Original Message-----
From: Oleg Kalnichevski [mailto:olegk@apache.org]
Sent: Wed 8/4/2010 9:51 AM
To: dev@hc.apache.org
Cc: Moore, Jonathan
Subject: HTTP cache API changes
Jon et al,

I made some changes to the HTTP cache API in the course of the last few
days mainly intended to allow for file system based cache
implementations. Please feel free to review the changes and complain if
you find anything disagreeable. The new code is largely untested but
should be enough to get a feel about the API. 

There is one extra change I would like to do. I would like to refactor
the SizeLimitedResponseReader in order to make it possible streaming out
the response content directly to a file without buffering content in an
intermediate buffer in memory. Once that is done we can proceed with
cutting a new release of HttpClient 4.1.



To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org

View raw message