#include <XrdClHttpOps.hh>
Public Member Functions | |
| CurlVectorReadOp (XrdCl::ResponseHandler *handler, const std::string &url, struct timespec timeout, const XrdCl::ChunkList &op_list, XrdCl::Log *logger, CreateConnCalloutType callout, HeaderCallout *header_callout) | |
| virtual | ~CurlVectorReadOp () |
| void | Fail (uint16_t errCode, uint32_t errNum, const std::string &msg) override |
| virtual HttpVerb | GetVerb () const override |
| void | ReleaseHandle () override |
| void | SetSeparator (const std::string &sep) |
| void | SetStatusCode (int sc) |
| bool | Setup (CURL *curl, CurlWorker &) override |
| void | Success () override |
| size_t | Write (char *buffer, size_t size) |
| Public Member Functions inherited from XrdClHttp::CurlOperation | |
| CurlOperation (const CurlOperation &)=delete | |
| CurlOperation (XrdCl::ResponseHandler *handler, const std::string &url, std::chrono::steady_clock::time_point expiry, XrdCl::Log *log, CreateConnCalloutType, HeaderCallout *header_callout) | |
| CurlOperation (XrdCl::ResponseHandler *handler, const std::string &url, struct timespec timeout, XrdCl::Log *log, CreateConnCalloutType, HeaderCallout *header_callout) | |
| virtual | ~CurlOperation () |
| virtual bool | ContinueHandle () |
| bool | FinishSetup (CURL *curl) |
| std::pair< XErrorCode, std::string > | GetCallbackError () const |
| CreateConnCalloutType | GetConnCalloutFunc () const |
| std::string | GetCurlErrorMessage () const |
| CURL * | GetCurlHandle () const |
| OpError | GetError () const |
| std::chrono::steady_clock::time_point | GetHeaderExpiry () const |
| std::chrono::steady_clock::time_point | GetOperationExpiry () |
| std::unique_ptr< ResponseInfo > | GetResponseInfo () |
| int | GetStatusCode () const |
| std::string | GetStatusMessage () const |
| bool | GetTriedBoker () const |
| const std::string & | GetUrl () const |
| bool | HasFailed () const |
| bool | HeaderTimeoutExpired (const std::chrono::steady_clock::time_point &now) |
| bool | IsDone () const |
| bool | IsPaused () const |
| bool | IsRedirect () const |
| std::unique_ptr< ResponseInfo > | MoveResponseInfo () |
| bool | OperationTimeoutExpired (const std::chrono::steady_clock::time_point &now) |
| virtual void | OptionsDone () |
| virtual RedirectAction | Redirect (std::string &target) |
| virtual bool | RequiresOptions () const |
| virtual void | SetContinueQueue (std::shared_ptr< XrdClHttp::HandlerQueue > queue) |
| void | SetTriedBoker () |
| bool | StartConnectionCallout (std::string &err) |
| std::tuple< uint64_t, std::chrono::steady_clock::duration, std::chrono::steady_clock::duration, std::chrono::steady_clock::duration > | StatisticsReset () |
| bool | TransferStalled (uint64_t xfer_bytes, const std::chrono::steady_clock::time_point &now) |
| bool | UseConnectionCallout () |
| virtual int | WaitSocket () |
| virtual int | WaitSocketCallback (std::string &err) |
Protected Attributes | |
| off_t | m_bytes_consumed {0} |
| off_t | m_chunk_buffer_idx {0} |
| XrdCl::ChunkList | m_chunk_list |
| std::pair< off_t, off_t > | m_current_op {-1, -1} |
| std::string | m_response_headers |
| size_t | m_response_idx {0} |
| uint64_t | m_skip_bytes {0} |
| std::unique_ptr< XrdCl::VectorReadInfo > | m_vr |
| Protected Attributes inherited from XrdClHttp::CurlOperation | |
| std::unique_ptr< CURL, void(*)(CURL *)> | m_curl |
| XrdCl::ResponseHandler * | m_handler {nullptr} |
| HeaderCallout * | m_header_callout |
| std::chrono::steady_clock::time_point | m_header_expiry |
| HeaderParser | m_headers |
| std::vector< std::pair< std::string, std::string > > | m_headers_list |
| XrdCl::Log * | m_logger |
| int | m_minimum_rate {m_minimum_transfer_rate} |
| std::chrono::steady_clock::time_point | m_operation_expiry |
| const std::string | m_url |
Additional Inherited Members | |
| Public Types inherited from XrdClHttp::CurlOperation | |
| using | HeaderList = std::vector<std::pair<std::string, std::string>> |
| enum class | HttpVerb { COPY , DELETE , HEAD , GET , MKCOL , OPTIONS , PROPFIND , PUT , Count } |
| enum | OpError { ErrNone , ErrHeaderTimeout , ErrCallback , ErrOperationTimeout , ErrTransferClientStall , ErrTransferStall , ErrTransferSlow } |
| enum class | RedirectAction { Fail , Reinvoke , ReinvokeAfterAllow } |
| Static Public Member Functions inherited from XrdClHttp::CurlOperation | |
| static void | CleanupDnsCache () |
| static int | GetDefaultSlowRateBytesSec () |
| static int | GetDefaultStallTimeout () |
| static const std::string | GetVerbString (HttpVerb) |
| static void | SetSlowRateBytesSec (int rate) |
| static void | SetStallTimeout (const std::chrono::steady_clock::duration &stall_interval) |
| static void | SetStallTimeout (int stall_interval) |
| Protected Member Functions inherited from XrdClHttp::CurlOperation | |
| int | FailCallback (XErrorCode ecode, const std::string &emsg) |
| void | SetDone (bool has_failed) |
| void | SetPaused (bool paused) |
| void | UpdateBytes (uint64_t bytes) |
| Static Protected Attributes inherited from XrdClHttp::CurlOperation | |
| static constexpr int | m_default_minimum_rate {1024 * 256} |
| static int | m_minimum_transfer_rate {CurlOperation::m_default_minimum_rate} |
Definition at line 698 of file XrdClHttpOps.hh.
| CurlVectorReadOp::CurlVectorReadOp | ( | XrdCl::ResponseHandler * | handler, |
| const std::string & | url, | ||
| struct timespec | timeout, | ||
| const XrdCl::ChunkList & | op_list, | ||
| XrdCl::Log * | logger, | ||
| CreateConnCalloutType | callout, | ||
| HeaderCallout * | header_callout ) |
Definition at line 30 of file XrdClHttpOpReadV.cc.
References XrdClHttp::CurlOperation::CurlOperation(), m_chunk_list, and m_vr.
|
inlinevirtual |
Definition at line 704 of file XrdClHttpOps.hh.
|
overridevirtual |
Reimplemented from XrdClHttp::CurlOperation.
Definition at line 61 of file XrdClHttpOpReadV.cc.
References XrdClHttp::kLogXrdClHttp, m_chunk_list, XrdClHttp::CurlOperation::m_handler, XrdClHttp::CurlOperation::m_logger, XrdClHttp::CurlOperation::SetDone(), and XrdCl::stError.
|
inlineoverridevirtual |
Implements XrdClHttp::CurlOperation.
Definition at line 725 of file XrdClHttpOps.hh.
References XrdClHttp::CurlOperation::GET.
|
overridevirtual |
Reimplemented from XrdClHttp::CurlOperation.
Definition at line 107 of file XrdClHttpOpReadV.cc.
References XrdClHttp::CurlOperation::m_curl, and XrdClHttp::CurlOperation::ReleaseHandle().
|
inline |
Definition at line 713 of file XrdClHttpOps.hh.
References XrdClHttp::CurlOperation::m_headers.
|
inline |
Definition at line 718 of file XrdClHttpOps.hh.
References XrdClHttp::CurlOperation::m_headers.
|
overridevirtual |
Reimplemented from XrdClHttp::CurlOperation.
Definition at line 39 of file XrdClHttpOpReadV.cc.
References m_chunk_list, XrdClHttp::CurlOperation::m_curl, XrdClHttp::CurlOperation::m_headers_list, and XrdClHttp::CurlOperation::Setup().
|
overridevirtual |
Implements XrdClHttp::CurlOperation.
Definition at line 85 of file XrdClHttpOpReadV.cc.
References m_bytes_consumed, m_chunk_buffer_idx, m_chunk_list, XrdClHttp::CurlOperation::m_handler, m_response_idx, m_vr, and XrdClHttp::CurlOperation::SetDone().
| size_t CurlVectorReadOp::Write | ( | char * | buffer, |
| size_t | size ) |
Definition at line 128 of file XrdClHttpOpReadV.cc.
References XrdClHttp::CurlOperation::FailCallback(), XrdClHttp::CurlOperation::GetStatusCode(), XrdClHttp::HTTPStatusIsError(), kXR_ServerError, m_bytes_consumed, m_chunk_buffer_idx, m_chunk_list, m_current_op, XrdClHttp::CurlOperation::m_headers, m_response_headers, m_response_idx, m_skip_bytes, m_vr, and XrdClHttp::CurlOperation::UpdateBytes().
|
protected |
Definition at line 737 of file XrdClHttpOps.hh.
|
protected |
Definition at line 736 of file XrdClHttpOps.hh.
|
protected |
Definition at line 742 of file XrdClHttpOps.hh.
Referenced by CurlVectorReadOp(), Fail(), Setup(), Success(), and Write().
|
protected |
Definition at line 740 of file XrdClHttpOps.hh.
Referenced by Write().
|
protected |
Definition at line 739 of file XrdClHttpOps.hh.
Referenced by Write().
|
protected |
Definition at line 735 of file XrdClHttpOps.hh.
|
protected |
Definition at line 738 of file XrdClHttpOps.hh.
Referenced by Write().
|
protected |
Definition at line 741 of file XrdClHttpOps.hh.
Referenced by CurlVectorReadOp(), Success(), and Write().