16 class XrdSfsFileSystem;
42 virtual bool MatchesPath(
const char *verb,
const char *path);
45 virtual int Init(
const char *cfgfile) {
return 0;}
82 const std::string &authz);
94 off_t bytes_transferred);
104 size_t streams, std::vector<TPC::State*> &streams_handles,
105 std::vector<ManagedCurlHandle> &curl_handles,
109 const char *log_prefix);
116 std::string &path2,
bool &path2_alt);
122 const std::string &event,
const std::string &message=
"");
142 #ifdef USE_PIPELINING
Definition: XrdTpcState.hh:20
std::string m_cafile
Definition: XrdTpcTPC.hh:132
std::string local
Definition: XrdTpcTPC.hh:59
LogMask
Definition: XrdTpcTPC.hh:22
Definition: XrdTpcTPC.hh:23
Definition: XrdTpcTPC.hh:49
unsigned streams
Definition: XrdTpcTPC.hh:64
bool m_desthttps
Definition: XrdTpcTPC.hh:127
virtual int ProcessReq(XrdHttpExtReq &req)
Definition: XrdOucStream.hh:46
Utility functions for XrdHTTP.
static size_t m_block_size
Definition: XrdTpcTPC.hh:125
int RunCurlBasic(CURL *curl, XrdHttpExtReq &req, TPC::State &state, const char *log_prefix)
int tpc_status
Definition: XrdTpcTPC.hh:63
Definition: XrdSysError.hh:89
std::string m_cadir
Definition: XrdTpcTPC.hh:131
static const int m_pipelining_multiplier
Definition: XrdTpcTPC.hh:145
bool ConfigureFSLib(XrdOucStream &Config, std::string &path1, bool &path1_alt, std::string &path2, bool &path2_alt)
Definition: XrdTpcTPC.hh:24
static std::string GetAuthz(XrdHttpExtReq &req)
Definition: XrdSysPthread.hh:164
bool Configure(const char *configfn, XrdOucEnv *myEnv)
virtual int Init(const char *cfgfile)
Initializes the external request handler.
Definition: XrdTpcTPC.hh:45
TPCHandler(XrdSysError *log, const char *config, XrdOucEnv *myEnv)
std::string log_prefix
Definition: XrdTpcTPC.hh:58
int OpenWaitStall(XrdSfsFile &fh, const std::string &resource, int mode, int openMode, const XrdSecEntity &sec, const std::string &authz)
Definition: XrdTpcTPC.hh:37
std::shared_ptr< XrdTlsTempCA > m_ca_file
Definition: XrdTpcTPC.hh:137
Definition: XrdOucErrInfo.hh:100
Definition: XrdTpcTPC.hh:26
int RedirectTransfer(CURL *curl, const std::string &redirect_resource, XrdHttpExtReq &req, XrdOucErrInfo &error, TPCLogRecord &)
virtual bool MatchesPath(const char *verb, const char *path)
Tells if the incoming path is recognized as one of the paths that have to be processed.
Definition: XrdOucEnv.hh:41
Definition: XrdHttpExtHandler.hh:79
int ProcessPullReq(const std::string &resource, XrdHttpExtReq &req)
TPCLogRecord()
Definition: XrdTpcTPC.hh:51
std::unique_ptr< CURL, CurlDeleter > ManagedCurlHandle
Definition: XrdTpcTPC.hh:34
static int m_marker_period
Definition: XrdTpcTPC.hh:124
Definition: XrdTpcTPC.hh:31
static uint64_t m_monid
Definition: XrdTpcTPC.hh:134
XrdSfsFileSystem * m_sfs
Definition: XrdTpcTPC.hh:136
void operator()(CURL *curl)
static XrdSysMutex m_monid_mutex
Definition: XrdTpcTPC.hh:133
int m_first_timeout
Definition: XrdTpcTPC.hh:129
void logTransferEvent(LogMask lvl, const TPCLogRecord &record, const std::string &event, const std::string &message="")
int ProcessOptionsReq(XrdHttpExtReq &req)
Definition: XrdSecEntity.hh:63
bool ConfigureLogger(XrdOucStream &Config)
int ProcessPushReq(const std::string &resource, XrdHttpExtReq &req)
Definition: XrdSfsInterface.hh:364
std::string remote
Definition: XrdTpcTPC.hh:60
int m_timeout
Definition: XrdTpcTPC.hh:128
Definition: XrdHttpExtHandler.hh:45
int status
Definition: XrdTpcTPC.hh:62
static size_t m_small_block_size
Definition: XrdTpcTPC.hh:126
void CURL
Definition: XrdTpcState.hh:13
std::string name
Definition: XrdTpcTPC.hh:61
Definition: XrdTpcTPC.hh:27
XrdSysError m_log
Definition: XrdTpcTPC.hh:135
Definition: XrdTpcTPC.hh:25
void ConfigureCurlCA(CURL *curl)
off_t bytes_transferred
Definition: XrdTpcTPC.hh:65