TPC::State Class Reference

#include <XrdTpcState.hh>

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

List of all members.

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
std::string GetErrorMessage () const
void ResetAfterRequest ()
CURLGetHandle () const
int AvailableBuffers () const
void DumpBuffers () const
bool BodyTransferInProgress () const
StateDuplicate ()
void Move (State &other)
bool Finalize ()
std::string GetConnectionDescription ()

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
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 (  ) 
std::string TPC::State::GetConnectionDescription (  ) 
off_t TPC::State::GetContentLength (  )  const [inline]

References m_content_length.

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 
) [static, private]
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 
) [static, private]
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 
) [static, private]

Member Data Documentation

Referenced by GetHandle().

std::string TPC::State::m_error_buf [private]

Referenced by GetErrorMessage().

struct curl_slist* TPC::State::m_headers [read, private]
std::vector<std::string> TPC::State::m_headers_copy [private]
off_t TPC::State::m_offset [private]
bool TPC::State::m_push [private]
std::string TPC::State::m_resp_protocol [private]
off_t TPC::State::m_start_offset [private]

Referenced by GetStatusCode().


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

Generated on 7 Jul 2020 for xrootd by  doxygen 1.6.1