xrootd
|
Utility class for inflating a compressed buffer. More...
#include <XrdClZipCache.hh>
Classes | |
struct | greater_read_resp_t |
Public Types | |
typedef std::vector< char > | buffer_t |
Public Member Functions | |
ZipCache () | |
~ZipCache () | |
void | QueueReq (uint64_t offset, uint32_t length, void *buffer, ResponseHandler *handler) |
void | QueueRsp (const XRootDStatus &st, uint64_t offset, buffer_t &&buffer) |
Private Types | |
typedef std::tuple< uint64_t, uint32_t, void *, ResponseHandler * > | read_args_t |
typedef std::tuple< XRootDStatus, uint64_t, buffer_t > | read_resp_t |
typedef std::priority_queue< read_resp_t, std::vector< read_resp_t >, greater_read_resp_t > | resp_queue_t |
Private Member Functions | |
bool | HasInput () const |
bool | HasOutput () const |
void | Input (const read_resp_t &rdrsp) |
void | Output (const read_args_t &rdreq) |
bool | Consecutive (const read_resp_t &resp) const |
void | Decompress () |
void | CallHandler (const XRootDStatus &st) |
XrdCl::XRootDStatus | ToXRootDStatus (int rc, const std::string &func) |
Static Private Member Functions | |
static AnyObject * | PkgRsp (ChunkInfo *chunk) |
Private Attributes | |
z_stream | strm |
std::mutex | mtx |
uint64_t | inabsoff |
std::queue< read_args_t > | rdreqs |
resp_queue_t | rdrsps |
Utility class for inflating a compressed buffer.
typedef std::vector<char> XrdCl::ZipCache::buffer_t |
|
private |
|
private |
|
private |
|
inline |
References XrdCl::Status::IsOK(), strm, and ToXRootDStatus().
|
inline |
References strm.
|
inlineprivate |
References XrdCl::ResponseHandler::HandleResponse(), XrdCl::Status::IsOK(), PkgRsp(), and rdreqs.
Referenced by Decompress().
|
inlineprivate |
References inabsoff.
Referenced by Decompress().
|
inlineprivate |
References CallHandler(), Consecutive(), HasInput(), HasOutput(), inabsoff, Input(), XrdCl::Status::IsOK(), Output(), rdreqs, rdrsps, strm, and ToXRootDStatus().
Referenced by QueueReq(), and QueueRsp().
|
inlineprivate |
References strm.
Referenced by Decompress().
|
inlineprivate |
References strm.
Referenced by Decompress().
|
inlineprivate |
References strm.
Referenced by Decompress().
|
inlineprivate |
References strm.
Referenced by Decompress().
References XrdCl::AnyObject::Set().
Referenced by CallHandler().
|
inline |
References Decompress(), mtx, and rdreqs.
|
inline |
References Decompress(), mtx, and rdrsps.
|
inlineprivate |
References XrdCl::errDataError, XrdCl::errInternal, XrdCl::errInvalidArgs, XrdCl::errUnknown, XrdCl::stError, XrdCl::stOK, and XrdCl::suContinue.
Referenced by Decompress(), and ZipCache().
|
private |
Referenced by Consecutive(), and Decompress().
|
private |
Referenced by QueueReq(), and QueueRsp().
|
private |
Referenced by CallHandler(), Decompress(), and QueueReq().
|
private |
Referenced by Decompress(), and QueueRsp().
|
private |
Referenced by Decompress(), HasInput(), HasOutput(), Input(), Output(), ZipCache(), and ~ZipCache().