xrootd
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
TPC::State Class Reference

#include <XrdTpcState.hh>

Collaboration diagram for TPC::State:
Collaboration graph
[legend]

Public Member Functions

 State ()
 
 State (off_t start_offset, Stream &stream, CURL *curl, bool push)
 
 ~State ()
 
void SetTransferParameters (off_t offset, size_t size)
 
void CopyHeaders (XrdHttpExtReq &req)
 
off_t BytesTransferred () const
 
off_t GetContentLength () const
 
int GetErrorCode () const
 
void SetErrorCode (int error_code)
 
int GetStatusCode () const
 
std::string GetErrorMessage () const
 
void SetErrorMessage (const std::string &error_msg)
 
void ResetAfterRequest ()
 
CURLGetHandle () const
 
int AvailableBuffers () const
 
void DumpBuffers () const
 
bool BodyTransferInProgress () const
 
StateDuplicate ()
 
void Move (State &other)
 
bool Finalize ()
 
int Flush ()
 
std::string GetConnectionDescription ()
 

Private Member Functions

bool InstallHandlers (CURL *curl)
 
 State (const State &)
 
int Header (const std::string &header)
 
ssize_t Write (char *buffer, size_t size)
 
int Read (char *buffer, size_t size)
 

Static Private Member Functions

static size_t HeaderCB (char *buffer, size_t size, size_t nitems, void *userdata)
 
static size_t WriteCB (void *buffer, size_t size, size_t nitems, void *userdata)
 
static size_t ReadCB (void *buffer, size_t size, size_t nitems, void *userdata)
 

Private Attributes

bool m_push
 
bool m_recv_status_line
 
bool m_recv_all_headers
 
off_t m_offset
 
off_t m_start_offset
 
int m_status_code
 
int m_error_code
 
off_t m_content_length
 
Streamm_stream
 
CURLm_curl
 
struct curl_slist * m_headers
 
std::vector< std::string > m_headers_copy
 
std::string m_resp_protocol
 
std::string m_error_buf
 

Constructor & Destructor Documentation

TPC::State::State ( )
inline
TPC::State::State ( off_t  start_offset,
Stream stream,
CURL curl,
bool  push 
)
inline

References InstallHandlers().

TPC::State::~State ( )
TPC::State::State ( const State )
private

Member Function Documentation

int TPC::State::AvailableBuffers ( ) const
bool TPC::State::BodyTransferInProgress ( ) const
inline

References m_content_length, and m_offset.

off_t TPC::State::BytesTransferred ( ) const
inline

References m_offset.

void TPC::State::CopyHeaders ( XrdHttpExtReq req)
void TPC::State::DumpBuffers ( ) const
State* TPC::State::Duplicate ( )
bool TPC::State::Finalize ( )
int TPC::State::Flush ( )
std::string TPC::State::GetConnectionDescription ( )
off_t TPC::State::GetContentLength ( ) const
inline

References m_content_length.

int TPC::State::GetErrorCode ( ) const
inline

References m_error_code.

std::string TPC::State::GetErrorMessage ( ) const
inline

References m_error_buf.

CURL* TPC::State::GetHandle ( ) const
inline

References m_curl.

int TPC::State::GetStatusCode ( ) const
inline

References m_status_code.

int TPC::State::Header ( const std::string &  header)
private
static size_t TPC::State::HeaderCB ( char *  buffer,
size_t  size,
size_t  nitems,
void *  userdata 
)
staticprivate
bool TPC::State::InstallHandlers ( CURL curl)
private

Referenced by State().

void TPC::State::Move ( State other)
int TPC::State::Read ( char *  buffer,
size_t  size 
)
private
static size_t TPC::State::ReadCB ( void *  buffer,
size_t  size,
size_t  nitems,
void *  userdata 
)
staticprivate
void TPC::State::ResetAfterRequest ( )
void TPC::State::SetErrorCode ( int  error_code)
inline

References m_error_code.

void TPC::State::SetErrorMessage ( const std::string &  error_msg)
inline

References m_error_buf.

void TPC::State::SetTransferParameters ( off_t  offset,
size_t  size 
)
ssize_t TPC::State::Write ( char *  buffer,
size_t  size 
)
private
static size_t TPC::State::WriteCB ( void *  buffer,
size_t  size,
size_t  nitems,
void *  userdata 
)
staticprivate

Member Data Documentation

off_t TPC::State::m_content_length
private
CURL* TPC::State::m_curl
private

Referenced by GetHandle().

std::string TPC::State::m_error_buf
private

Referenced by GetErrorMessage(), and SetErrorMessage().

int TPC::State::m_error_code
private

Referenced by GetErrorCode(), and SetErrorCode().

struct curl_slist* TPC::State::m_headers
private
std::vector<std::string> TPC::State::m_headers_copy
private
off_t TPC::State::m_offset
private
bool TPC::State::m_push
private
bool TPC::State::m_recv_all_headers
private
bool TPC::State::m_recv_status_line
private
std::string TPC::State::m_resp_protocol
private
off_t TPC::State::m_start_offset
private
int TPC::State::m_status_code
private

Referenced by GetStatusCode().

Stream* TPC::State::m_stream
private

The documentation for this class was generated from the following file: