#include <XrdClHttpOps.hh>
Public Member Functions | |
| CurlReadOp (XrdCl::ResponseHandler *handler, std::shared_ptr< XrdCl::ResponseHandler > default_handler, const std::string &url, struct timespec timeout, const std::pair< uint64_t, uint64_t > &op, char *buffer, size_t sz, XrdCl::Log *logger, CreateConnCalloutType callout, HeaderCallout *header_callout) | |
| virtual | ~CurlReadOp () |
| bool | Continue (std::shared_ptr< CurlOperation > op, XrdCl::ResponseHandler *handler, char *buffer, size_t buffer_size) |
| bool | ContinueHandle () override |
| void | Fail (uint16_t errCode, uint32_t errNum, const std::string &msg) override |
| virtual HttpVerb | GetVerb () const override |
| virtual void | Pause () |
| void | ReleaseHandle () override |
| virtual void | SetContinueQueue (std::shared_ptr< XrdClHttp::HandlerQueue > queue) override |
| bool | Setup (CURL *curl, CurlWorker &) override |
| void | Success () override |
| 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 () |
| 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 |
| 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 | |
| char * | m_buffer {nullptr} |
| size_t | m_buffer_size {0} |
| std::shared_ptr< XrdClHttp::HandlerQueue > | m_continue_queue |
| std::string | m_err_msg |
| std::pair< uint64_t, uint64_t > | m_op |
| uint64_t | m_written {0} |
| 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 611 of file XrdClHttpOps.hh.
| CurlReadOp::CurlReadOp | ( | XrdCl::ResponseHandler * | handler, |
| std::shared_ptr< XrdCl::ResponseHandler > | default_handler, | ||
| const std::string & | url, | ||
| struct timespec | timeout, | ||
| const std::pair< uint64_t, uint64_t > & | op, | ||
| char * | buffer, | ||
| size_t | sz, | ||
| XrdCl::Log * | logger, | ||
| CreateConnCalloutType | callout, | ||
| HeaderCallout * | header_callout ) |
Definition at line 30 of file XrdClHttpOpRead.cc.
References XrdClHttp::CurlOperation::CurlOperation(), m_buffer, m_buffer_size, and m_op.
Referenced by XrdClHttp::CurlPgReadOp::CurlPgReadOp(), and XrdClHttp::CurlPrefetchOpenOp::CurlPrefetchOpenOp().
|
inlinevirtual |
Definition at line 617 of file XrdClHttpOps.hh.
| bool CurlReadOp::Continue | ( | std::shared_ptr< CurlOperation > | op, |
| XrdCl::ResponseHandler * | handler, | ||
| char * | buffer, | ||
| size_t | buffer_size ) |
Definition at line 42 of file XrdClHttpOpRead.cc.
References XrdCl::errInternal, Fail(), XrdClHttp::kLogXrdClHttp, m_buffer, m_buffer_size, m_continue_queue, XrdClHttp::CurlOperation::m_handler, XrdClHttp::CurlOperation::m_logger, and m_written.
|
overridevirtual |
Reimplemented from XrdClHttp::CurlOperation.
Definition at line 85 of file XrdClHttpOpRead.cc.
References XrdClHttp::CurlOperation::IsDone(), XrdClHttp::kLogXrdClHttp, XrdClHttp::CurlOperation::m_curl, XrdClHttp::CurlOperation::m_logger, and XrdClHttp::CurlOperation::SetPaused().
|
overridevirtual |
Reimplemented from XrdClHttp::CurlOperation.
Definition at line 137 of file XrdClHttpOpRead.cc.
References XrdClHttp::kLogXrdClHttp, m_err_msg, XrdClHttp::CurlOperation::m_handler, XrdClHttp::CurlOperation::m_logger, m_op, XrdClHttp::CurlOperation::SetDone(), and XrdCl::stError.
Referenced by Continue().
|
inlineoverridevirtual |
Implements XrdClHttp::CurlOperation.
Reimplemented in XrdClHttp::CurlPgReadOp.
Definition at line 638 of file XrdClHttpOps.hh.
References XrdClHttp::CurlOperation::GET.
|
virtual |
Reimplemented in XrdClHttp::CurlPrefetchOpenOp.
Definition at line 179 of file XrdClHttpOpRead.cc.
References XrdClHttp::kLogXrdClHttp, XrdClHttp::CurlOperation::m_handler, XrdClHttp::CurlOperation::m_logger, and XrdClHttp::CurlOperation::SetPaused().
Referenced by XrdClHttp::CurlPrefetchOpenOp::Pause().
|
overridevirtual |
Reimplemented from XrdClHttp::CurlOperation.
Definition at line 205 of file XrdClHttpOpRead.cc.
References XrdClHttp::CurlOperation::m_curl, and XrdClHttp::CurlOperation::ReleaseHandle().
|
inlineoverridevirtual |
Reimplemented from XrdClHttp::CurlOperation.
Definition at line 634 of file XrdClHttpOps.hh.
References m_continue_queue.
|
overridevirtual |
Reimplemented from XrdClHttp::CurlOperation.
Definition at line 104 of file XrdClHttpOpRead.cc.
References XrdClHttp::CurlOperation::m_curl, XrdClHttp::CurlOperation::m_headers_list, m_op, XrdClHttp::CurlOperation::Setup(), and Success().
|
overridevirtual |
Implements XrdClHttp::CurlOperation.
Definition at line 190 of file XrdClHttpOpRead.cc.
References m_buffer, XrdClHttp::CurlOperation::m_handler, m_op, m_written, and XrdClHttp::CurlOperation::SetDone().
Referenced by Setup().
|
protected |
Definition at line 669 of file XrdClHttpOps.hh.
Referenced by CurlReadOp(), Continue(), XrdClHttp::CurlPgReadOp::Success(), and Success().
|
protected |
Definition at line 670 of file XrdClHttpOps.hh.
Referenced by CurlReadOp(), and Continue().
|
protected |
Definition at line 677 of file XrdClHttpOps.hh.
Referenced by Continue(), and SetContinueQueue().
|
protected |
Definition at line 674 of file XrdClHttpOps.hh.
Referenced by Fail().
|
protected |
Definition at line 667 of file XrdClHttpOps.hh.
Referenced by CurlReadOp(), Fail(), Setup(), XrdClHttp::CurlPgReadOp::Success(), and Success().
|
protected |
Definition at line 668 of file XrdClHttpOps.hh.
Referenced by Continue(), XrdClHttp::CurlPgReadOp::Success(), and Success().