#include <XrdTpcTPC.hh>
Classes | |
struct | TPCLogRecord |
Public Member Functions | |
TPCHandler (XrdSysError *log, const char *config, XrdOucEnv *myEnv) | |
virtual | ~TPCHandler () |
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. | |
virtual int | ProcessReq (XrdHttpExtReq &req) |
virtual int | Init (const char *cfgfile) |
Initializes the external request handler. | |
Private Member Functions | |
int | ProcessOptionsReq (XrdHttpExtReq &req) |
int | RedirectTransfer (CURL *curl, const std::string &redirect_resource, XrdHttpExtReq &req, XrdOucErrInfo &error, TPCLogRecord &) |
int | OpenWaitStall (XrdSfsFile &fh, const std::string &resource, int mode, int openMode, const XrdSecEntity &sec, const std::string &authz) |
int | RunCurlBasic (CURL *curl, XrdHttpExtReq &req, TPC::State &state, const char *log_prefix) |
int | ProcessPushReq (const std::string &resource, XrdHttpExtReq &req) |
int | ProcessPullReq (const std::string &resource, XrdHttpExtReq &req) |
bool | ConfigureFSLib (XrdOucStream &Config, std::string &path1, bool &path1_alt, std::string &path2, bool &path2_alt) |
bool | Configure (const char *configfn, XrdOucEnv *myEnv) |
bool | ConfigureLogger (XrdOucStream &Config) |
void | logTransferEvent (LogMask lvl, const TPCLogRecord &record, const std::string &event, const std::string &message="") |
Static Private Member Functions | |
static std::string | GetAuthz (XrdHttpExtReq &req) |
Private Attributes | |
bool | m_desthttps |
std::string | m_cadir |
XrdSysError | m_log |
XrdSfsFileSystem * | m_sfs |
Static Private Attributes | |
static int | m_marker_period |
static size_t | m_block_size |
static XrdSysMutex | m_monid_mutex |
static uint64_t | m_monid |
static const int | m_pipelining_multiplier = 1 |
TPC::TPCHandler::TPCHandler | ( | XrdSysError * | log, | |
const char * | config, | |||
XrdOucEnv * | myEnv | |||
) |
virtual TPC::TPCHandler::~TPCHandler | ( | ) | [virtual] |
bool TPC::TPCHandler::Configure | ( | const char * | configfn, | |
XrdOucEnv * | myEnv | |||
) | [private] |
bool TPC::TPCHandler::ConfigureFSLib | ( | XrdOucStream & | Config, | |
std::string & | path1, | |||
bool & | path1_alt, | |||
std::string & | path2, | |||
bool & | path2_alt | |||
) | [private] |
bool TPC::TPCHandler::ConfigureLogger | ( | XrdOucStream & | Config | ) | [private] |
static std::string TPC::TPCHandler::GetAuthz | ( | XrdHttpExtReq & | req | ) | [static, private] |
virtual int TPC::TPCHandler::Init | ( | const char * | cfgfile | ) | [inline, virtual] |
Initializes the external request handler.
Implements XrdHttpExtHandler.
void TPC::TPCHandler::logTransferEvent | ( | LogMask | lvl, | |
const TPCLogRecord & | record, | |||
const std::string & | event, | |||
const std::string & | message = "" | |||
) | [private] |
virtual bool TPC::TPCHandler::MatchesPath | ( | const char * | verb, | |
const char * | path | |||
) | [virtual] |
Tells if the incoming path is recognized as one of the paths that have to be processed.
Implements XrdHttpExtHandler.
int TPC::TPCHandler::OpenWaitStall | ( | XrdSfsFile & | fh, | |
const std::string & | resource, | |||
int | mode, | |||
int | openMode, | |||
const XrdSecEntity & | sec, | |||
const std::string & | authz | |||
) | [private] |
int TPC::TPCHandler::ProcessOptionsReq | ( | XrdHttpExtReq & | req | ) | [private] |
int TPC::TPCHandler::ProcessPullReq | ( | const std::string & | resource, | |
XrdHttpExtReq & | req | |||
) | [private] |
int TPC::TPCHandler::ProcessPushReq | ( | const std::string & | resource, | |
XrdHttpExtReq & | req | |||
) | [private] |
virtual int TPC::TPCHandler::ProcessReq | ( | XrdHttpExtReq & | ) | [virtual] |
Process an HTTP request and send the response using the calling XrdHttpProtocol instance directly Returns 0 if ok, non0 if errors
Implements XrdHttpExtHandler.
int TPC::TPCHandler::RedirectTransfer | ( | CURL * | curl, | |
const std::string & | redirect_resource, | |||
XrdHttpExtReq & | req, | |||
XrdOucErrInfo & | error, | |||
TPCLogRecord & | ||||
) | [private] |
int TPC::TPCHandler::RunCurlBasic | ( | CURL * | curl, | |
XrdHttpExtReq & | req, | |||
TPC::State & | state, | |||
const char * | log_prefix | |||
) | [private] |
size_t TPC::TPCHandler::m_block_size [static, private] |
std::string TPC::TPCHandler::m_cadir [private] |
bool TPC::TPCHandler::m_desthttps [private] |
XrdSysError TPC::TPCHandler::m_log [private] |
int TPC::TPCHandler::m_marker_period [static, private] |
uint64_t TPC::TPCHandler::m_monid [static, private] |
XrdSysMutex TPC::TPCHandler::m_monid_mutex [static, private] |
const int TPC::TPCHandler::m_pipelining_multiplier = 1 [static, private] |
XrdSfsFileSystem* TPC::TPCHandler::m_sfs [private] |