TPC::TPCHandler Class Reference

#include <XrdTpcTPC.hh>

Inheritance diagram for TPC::TPCHandler:
Inheritance graph
[legend]
Collaboration diagram for TPC::TPCHandler:
Collaboration graph
[legend]

List of all members.

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 (const std::string &redirect_resource, XrdHttpExtReq &req, XrdOucErrInfo &error)
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)

Static Private Member Functions

static std::string GetAuthz (XrdHttpExtReq &req)

Private Attributes

bool m_desthttps
std::string m_cadir
XrdSysErrorm_log
std::unique_ptr< XrdSfsFileSystem > m_sfs
void * m_handle_base
void * m_handle_chained

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

Constructor & Destructor Documentation

TPC::TPCHandler::TPCHandler ( XrdSysError log,
const char *  config,
XrdOucEnv myEnv 
)
virtual TPC::TPCHandler::~TPCHandler (  )  [virtual]

Member Function Documentation

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]
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.

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 ( const std::string &  redirect_resource,
XrdHttpExtReq req,
XrdOucErrInfo error 
) [private]
int TPC::TPCHandler::RunCurlBasic ( CURL curl,
XrdHttpExtReq req,
TPC::State state,
const char *  log_prefix 
) [private]

Member Data Documentation

size_t TPC::TPCHandler::m_block_size [static, private]
std::string TPC::TPCHandler::m_cadir [private]
int TPC::TPCHandler::m_marker_period [static, private]
uint64_t TPC::TPCHandler::m_monid [static, private]
const int TPC::TPCHandler::m_pipelining_multiplier = 1 [static, private]
std::unique_ptr<XrdSfsFileSystem> TPC::TPCHandler::m_sfs [private]

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 4 Sep 2020 for xrootd by  doxygen 1.6.1