xrootd
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

◆ State() [1/3]

TPC::State::State ( )
inline

◆ State() [2/3]

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

References InstallHandlers().

◆ ~State()

TPC::State::~State ( )

◆ State() [3/3]

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

Member Function Documentation

◆ AvailableBuffers()

int TPC::State::AvailableBuffers ( ) const

◆ BodyTransferInProgress()

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

References m_content_length, and m_offset.

◆ BytesTransferred()

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

References m_offset.

◆ CopyHeaders()

void TPC::State::CopyHeaders ( XrdHttpExtReq req)

◆ DumpBuffers()

void TPC::State::DumpBuffers ( ) const

◆ Duplicate()

State* TPC::State::Duplicate ( )

◆ Finalize()

bool TPC::State::Finalize ( )

◆ GetContentLength()

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

References m_content_length.

◆ GetHandle()

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

References m_curl.

◆ GetStatusCode()

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

References m_status_code.

◆ Header()

int TPC::State::Header ( const std::string &  header)
private

◆ HeaderCB()

static size_t TPC::State::HeaderCB ( char *  buffer,
size_t  size,
size_t  nitems,
void *  userdata 
)
staticprivate

◆ InstallHandlers()

bool TPC::State::InstallHandlers ( CURL curl)
private

Referenced by State().

◆ Move()

void TPC::State::Move ( State other)

◆ Read()

int TPC::State::Read ( char *  buffer,
size_t  size 
)
private

◆ ReadCB()

static size_t TPC::State::ReadCB ( void *  buffer,
size_t  size,
size_t  nitems,
void *  userdata 
)
staticprivate

◆ ResetAfterRequest()

void TPC::State::ResetAfterRequest ( )

◆ SetTransferParameters()

void TPC::State::SetTransferParameters ( off_t  offset,
size_t  size 
)

◆ Write()

int TPC::State::Write ( char *  buffer,
size_t  size 
)
private

◆ WriteCB()

static size_t TPC::State::WriteCB ( void *  buffer,
size_t  size,
size_t  nitems,
void *  userdata 
)
staticprivate

Member Data Documentation

◆ m_content_length

off_t TPC::State::m_content_length
private

◆ m_curl

CURL* TPC::State::m_curl
private

Referenced by GetHandle().

◆ m_headers

struct curl_slist* TPC::State::m_headers
private

◆ m_headers_copy

std::vector<std::string> TPC::State::m_headers_copy
private

◆ m_offset

off_t TPC::State::m_offset
private

◆ m_push

bool TPC::State::m_push
private

◆ m_recv_all_headers

bool TPC::State::m_recv_all_headers
private

◆ m_recv_status_line

bool TPC::State::m_recv_status_line
private

◆ m_resp_protocol

std::string TPC::State::m_resp_protocol
private

◆ m_start_offset

off_t TPC::State::m_start_offset
private

◆ m_status_code

int TPC::State::m_status_code
private

Referenced by GetStatusCode().

◆ m_stream

Stream* TPC::State::m_stream
private

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