summaryrefslogtreecommitdiff
path: root/indra/llcorehttp
diff options
context:
space:
mode:
authorMonty Brandenberg <monty@lindenlab.com>2012-07-09 11:47:47 -0400
committerMonty Brandenberg <monty@lindenlab.com>2012-07-09 11:47:47 -0400
commit348db20b92f1f1f85712c5a9a862ef079102bbee (patch)
tree7e19406334296b0ae3da6ff4b7a77400f31edb79 /indra/llcorehttp
parentf5f51d3cda8861b3b3a380cc96aaca98e572c377 (diff)
SH-3187 Issue smarter 'Range' requests for textures.
First, try to issue ranged GETs that are always at least partially satisfiable. This will keep Varnish-type caches from simply sending back 200/full asset responses to unsatisfiable requests. Implement awareness of Content-Range headers as well. Currently they're not coming back but they will be someday.
Diffstat (limited to 'indra/llcorehttp')
-rw-r--r--indra/llcorehttp/httpresponse.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/indra/llcorehttp/httpresponse.h b/indra/llcorehttp/httpresponse.h
index 925cf81586..65e403cec8 100644
--- a/indra/llcorehttp/httpresponse.h
+++ b/indra/llcorehttp/httpresponse.h
@@ -111,6 +111,12 @@ public:
/// If a 'Range:' header was used, these methods are involved
/// in setting and returning data about the actual response.
+ /// If both @offset and @length are returned as 0, we probably
+ /// didn't get a Content-Range header in the response. This
+ /// occurs with various Capabilities-based services and the
+ /// caller is going to have to make assumptions on receipt of
+ /// a 206 status. The @full value may also be zero in cases of
+ /// parsing problems or a wild-carded length response.
void getRange(unsigned int * offset, unsigned int * length, unsigned int * full) const
{
*offset = mReplyOffset;