xrootd
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
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 GetStatusCode () const
 
void ResetAfterRequest ()
 
CURLGetHandle () const
 
int AvailableBuffers () const
 
void DumpBuffers () const
 
bool BodyTransferInProgress () const
 
StateDuplicate ()
 
void Move (State &other)
 
bool Finalize ()
 

Private Member Functions

bool InstallHandlers (CURL *curl)
 
 State (const State &)
 
int Header (const std::string &header)
 
int 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
 
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
 

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 ( )
off_t TPC::State::GetContentLength ( ) const
inline

References m_content_length.

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::SetTransferParameters ( off_t  offset,
size_t  size 
)
int 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().

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: