}
void
-HttpHdrRange::merge (Vector<HttpHdrRangeSpec *> &basis)
+HttpHdrRange::merge (std::vector<HttpHdrRangeSpec *> &basis)
{
/* reset old array */
specs.clear();
}
void
-HttpHdrRange::getCanonizedSpecs (Vector<HttpHdrRangeSpec *> ©)
+HttpHdrRange::getCanonizedSpecs (std::vector<HttpHdrRangeSpec *> ©)
{
/* canonize each entry and destroy bad ones if any */
clen = newClen;
debugs(64, 3, "HttpHdrRange::canonize: started with " << specs.size() <<
" specs, clen: " << clen);
- Vector<HttpHdrRangeSpec*> goods;
+ std::vector<HttpHdrRangeSpec*> goods;
getCanonizedSpecs(goods);
merge (goods);
debugs(64, 3, "HttpHdrRange::canonize: finished with " << specs.size() <<
const HttpHdrRangeSpec *
HttpHdrRangeIter::currentSpec() const
{
- if (pos.incrementable())
+ if (pos != end)
return *pos;
return NULL;
assert (debt_size == 0);
assert (valid);
- if (pos.incrementable()) {
+ if (pos != end) {
debt(currentSpec()->length);
}
}
~HttpHdrRange();
HttpHdrRange &operator= (HttpHdrRange const &);
- typedef Vector<HttpHdrRangeSpec *>::iterator iterator;
- typedef Vector<HttpHdrRangeSpec *>::const_iterator const_iterator;
+ typedef std::vector<HttpHdrRangeSpec *>::iterator iterator;
+ typedef std::vector<HttpHdrRangeSpec *>::const_iterator const_iterator;
iterator begin();
const_iterator begin () const;
iterator end();
int64_t lowestOffset(int64_t) const;
bool offsetLimitExceeded(const int64_t limit) const;
bool contains(HttpHdrRangeSpec& r) const;
- Vector<HttpHdrRangeSpec *> specs;
+ std::vector<HttpHdrRangeSpec *> specs;
private:
- void getCanonizedSpecs (Vector<HttpHdrRangeSpec *> ©);
- void merge (Vector<HttpHdrRangeSpec *> &basis);
+ void getCanonizedSpecs (std::vector<HttpHdrRangeSpec *> ©);
+ void merge (std::vector<HttpHdrRangeSpec *> &basis);
int64_t clen;
};
public:
HttpHdrRange::iterator pos;
+ HttpHdrRange::iterator end;
const HttpHdrRangeSpec *currentSpec() const;
void updateSpec();
int64_t debt() const;
if (!http->range_iter.debt()) {
debugs(33, 5, HERE << "At end of current range spec for " << clientConnection);
- if (http->range_iter.pos.incrementable())
+ if (http->range_iter.pos != http->range_iter.end)
++http->range_iter.pos;
http->range_iter.updateSpec();
*/
node->readBuffer.offset = request->range->lowestOffset(0);
http->range_iter.pos = request->range->begin();
+ http->range_iter.end = request->range->end();
http->range_iter.valid = true;
}
}