23#ifndef XROOTD_XRDHTTPREADRANGEHANDLER_HH
24#define XROOTD_XRDHTTPREADRANGEHANDLER_HH
58 const size_t vectorReadMaxChunks,
59 const size_t rRequestMaxBytes) :
79 explicit operator bool()
const {
return errSet; }
81 void set(
int rc,
const std::string &m)
244 int rangeFig(
const char*
const s,
bool &set, off_t &start);
Utility functions for XrdHTTP.
std::vector< XrdOucIOVec2 > XrdHttpIOList
Definition XrdHttpUtils.hh:95
Definition XrdHttpReadRangeHandler.hh:36
off_t splitRangeOff_
Definition XrdHttpReadRangeHandler.hh:267
static constexpr size_t READV_MAXCHUNKSIZE
Definition XrdHttpReadRangeHandler.hh:46
off_t resolvedRangeOff_
Definition XrdHttpReadRangeHandler.hh:262
const XrdHttpIOList & NextReadList()
void ParseContentRange(const char *const line)
int SetFilesize(const off_t sz)
XrdHttpReadRangeHandler(const Configuration &conf)
Definition XrdHttpReadRangeHandler.hh:113
UserRangeList resolvedUserRanges_
Definition XrdHttpReadRangeHandler.hh:255
static int Configure(XrdSysError &Eroute, const char *const parms, Configuration &cfg)
int parseOneRange(char *const str)
bool rangesResolved_
Definition XrdHttpReadRangeHandler.hh:253
size_t currSplitRangeIdx_
Definition XrdHttpReadRangeHandler.hh:271
std::vector< UserRange > UserRangeList
Definition XrdHttpReadRangeHandler.hh:103
size_t vectorReadMaxChunks_
Definition XrdHttpReadRangeHandler.hh:277
XrdHttpIOList splitRange_
Definition XrdHttpReadRangeHandler.hh:257
const Error & getError() const
int NotifyReadResult(const ssize_t ret, const UserRange **const urp, bool &start, bool &allend)
size_t splitRangeIdx_
Definition XrdHttpReadRangeHandler.hh:266
UserRangeList rawUserRanges_
Definition XrdHttpReadRangeHandler.hh:251
size_t rRequestMaxBytes_
Definition XrdHttpReadRangeHandler.hh:278
int currSplitRangeOff_
Definition XrdHttpReadRangeHandler.hh:272
int rangeFig(const char *const s, bool &set, off_t &start)
size_t vectorReadMaxChunkSize_
Definition XrdHttpReadRangeHandler.hh:276
size_t resolvedRangeIdx_
Definition XrdHttpReadRangeHandler.hh:261
const UserRangeList & ListResolvedRanges()
Error error_
Definition XrdHttpReadRangeHandler.hh:249
static constexpr size_t RREQ_MAXSIZE
Definition XrdHttpReadRangeHandler.hh:47
off_t filesize_
Definition XrdHttpReadRangeHandler.hh:274
static constexpr size_t READV_MAXCHUNKS
Definition XrdHttpReadRangeHandler.hh:45
Definition XrdSysError.hh:90
Definition XrdHttpReadRangeHandler.hh:54
size_t readv_iov_max
Definition XrdHttpReadRangeHandler.hh:66
Configuration(const size_t vectorReadMaxChunkSize, const size_t vectorReadMaxChunks, const size_t rRequestMaxBytes)
Definition XrdHttpReadRangeHandler.hh:57
Configuration()
Definition XrdHttpReadRangeHandler.hh:55
size_t reqs_max
Definition XrdHttpReadRangeHandler.hh:67
bool haveSizes
Definition XrdHttpReadRangeHandler.hh:64
size_t readv_ior_max
Definition XrdHttpReadRangeHandler.hh:65
Definition XrdHttpReadRangeHandler.hh:74
void set(int rc, const std::string &m)
Definition XrdHttpReadRangeHandler.hh:81
bool errSet
Definition XrdHttpReadRangeHandler.hh:75
void reset()
Definition XrdHttpReadRangeHandler.hh:84
std::string errMsg
Definition XrdHttpReadRangeHandler.hh:77
int httpRetCode
Definition XrdHttpReadRangeHandler.hh:76
Definition XrdHttpReadRangeHandler.hh:91
off_t start
Definition XrdHttpReadRangeHandler.hh:94
bool start_set
Definition XrdHttpReadRangeHandler.hh:92
bool end_set
Definition XrdHttpReadRangeHandler.hh:93
UserRange(off_t st, off_t en)
Definition XrdHttpReadRangeHandler.hh:99
off_t end
Definition XrdHttpReadRangeHandler.hh:95
UserRange()
Definition XrdHttpReadRangeHandler.hh:97