xrootd
Loading...
Searching...
No Matches
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 (CURL *curl)
 
 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
 
bool m_is_transfer_state
 

Constructor & Destructor Documentation

◆ State() [1/4]

TPC::State::State ( )
inline

◆ State() [2/4]

TPC::State::State ( CURL curl)
inline

Don't use that constructor if you want to do some transfers.

Parameters
curlthe curl handle

References InstallHandlers().

◆ State() [3/4]

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

References InstallHandlers().

◆ ~State()

TPC::State::~State ( )

◆ State() [4/4]

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 ( )

◆ Flush()

int TPC::State::Flush ( )

◆ GetConnectionDescription()

std::string TPC::State::GetConnectionDescription ( )

◆ GetContentLength()

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

References m_content_length.

◆ GetErrorCode()

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

References m_error_code.

◆ GetErrorMessage()

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

References m_error_buf.

◆ 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(), and 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 ( )

◆ SetErrorCode()

void TPC::State::SetErrorCode ( int  error_code)
inline

References m_error_code.

◆ SetErrorMessage()

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

References m_error_buf.

◆ SetTransferParameters()

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

◆ Write()

ssize_t 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_error_buf

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

Referenced by GetErrorMessage(), and SetErrorMessage().

◆ m_error_code

int TPC::State::m_error_code
private

Referenced by GetErrorCode(), and SetErrorCode().

◆ m_headers

struct curl_slist* TPC::State::m_headers
private

◆ m_headers_copy

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

◆ m_is_transfer_state

bool TPC::State::m_is_transfer_state
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: