libzypp  17.31.31
zyppng::NetworkRequestPrivate Class Reference

#include </home/abuild/rpmbuild/BUILD/libzypp-17.31.31/zypp-curl/ng/network/private/request_p.h>

Inheritance diagram for zyppng::NetworkRequestPrivate:

Classes

struct  FileVerifyInfo
 
struct  finished_t
 
struct  pending_t
 
struct  prepareNextRangeBatch_t
 
struct  running_t
 

Public Types

enum  ProtocolMode { ProtocolMode::Default, ProtocolMode::HTTP }
 

Public Member Functions

 NetworkRequestPrivate (Url &&url, zypp::Pathname &&targetFile, NetworkRequest::FileMode fMode, NetworkRequest &p)
 
virtual ~NetworkRequestPrivate ()
 
bool initialize (std::string &errBuf)
 
bool setupHandle (std::string &errBuf)
 
bool assertOutputFile ()
 
bool canRecover () const
 
bool prepareToContinue (std::string &errBuf)
 
bool hasMoreWork () const
 
void aboutToStart ()
 
void dequeueNotify ()
 
void setResult (NetworkRequestError &&err)
 
void reset ()
 
void resetActivityTimer ()
 
void onActivityTimeout (Timer &)
 
std::string errorMessage () const
 
template<typename T >
void setCurlOption (CURLoption opt, T data)
 
size_t headerfunction (char *ptr, size_t bytes) override
 
size_t writefunction (char *ptr, std::optional< off_t > offset, size_t bytes) override
 
- Public Member Functions inherited from zyppng::CurlMultiPartDataReceiver
virtual ~CurlMultiPartDataReceiver ()=default
 
virtual bool beginRange (off_t range, std::string &cancelReason)
 
virtual bool finishedRange (off_t range, bool validated, std::string &cancelReason)
 

Static Public Member Functions

static int curlProgressCallback (void *clientp, curl_off_t dltotal, curl_off_t dlnow, curl_off_t ultotal, curl_off_t ulnow)
 

Public Attributes

enum zyppng::NetworkRequestPrivate::ProtocolMode _protocolMode = ProtocolMode::Default
 
std::array< char, CURL_ERROR_SIZE+1 > _errorBuf
 
Url _url
 
zypp::Pathname _targetFile
 
TransferSettings _settings
 
NetworkRequest::Options _options
 
zypp::ByteCount _expectedFileSize
 
std::vector< NetworkRequest::Range_requestedRanges
 the requested ranges that need to be downloaded More...
 
std::optional< FileVerifyInfo_fileVerification
 The digest for the full file. More...
 
NetworkRequest::FileMode _fMode = NetworkRequest::WriteExclusive
 
NetworkRequest::Priority _priority = NetworkRequest::Normal
 
std::string _lastRedirect
 to log/report redirections More...
 
const std::string _currentCookieFile = "/var/lib/YaST2/cookies"
 
void * _easyHandle = nullptr
 
NetworkRequestDispatcher * _dispatcher = nullptr
 
Signal< void(NetworkRequest &req)> _sigStarted
 
Signal< void(NetworkRequest &req, zypp::ByteCount count)> _sigBytesDownloaded
 
Signal< void(NetworkRequest &req, off_t dltotal, off_t dlnow, off_t ultotal, off_t ulnow)> _sigProgress
 
Signal< void(NetworkRequest &req, const NetworkRequestError &err)> _sigFinished
 
std::unique_ptr< curl_slist, decltype(&curl_slist_free_all) > _headers
 
std::variant< pending_t, running_t, prepareNextRangeBatch_t, finished_t_runningMode = pending_t()
 

Detailed Description

Definition at line 34 of file request_p.h.

Member Enumeration Documentation

◆ ProtocolMode

Enumerator
Default 
HTTP 

Definition at line 38 of file request_p.h.

Constructor & Destructor Documentation

◆ NetworkRequestPrivate()

zyppng::NetworkRequestPrivate::NetworkRequestPrivate ( Url &&  url,
zypp::Pathname &&  targetFile,
NetworkRequest::FileMode  fMode,
NetworkRequest p 
)

Definition at line 73 of file request.cc.

◆ ~NetworkRequestPrivate()

zyppng::NetworkRequestPrivate::~NetworkRequestPrivate ( )
virtual

Definition at line 81 of file request.cc.

Member Function Documentation

◆ initialize()

bool zyppng::NetworkRequestPrivate::initialize ( std::string &  errBuf)

Definition at line 91 of file request.cc.

◆ setupHandle()

bool zyppng::NetworkRequestPrivate::setupHandle ( std::string &  errBuf)

Force IPv4/v6

Connect timeout

Speed limits

Definition at line 103 of file request.cc.

◆ assertOutputFile()

bool zyppng::NetworkRequestPrivate::assertOutputFile ( )

Definition at line 373 of file request.cc.

◆ canRecover()

bool zyppng::NetworkRequestPrivate::canRecover ( ) const

Definition at line 403 of file request.cc.

◆ prepareToContinue()

bool zyppng::NetworkRequestPrivate::prepareToContinue ( std::string &  errBuf)

Prepares the request before it is queued again currently this is used only for range batching but could be used to recover from other types of errors too

Definition at line 411 of file request.cc.

◆ hasMoreWork()

bool zyppng::NetworkRequestPrivate::hasMoreWork ( ) const

Definition at line 449 of file request.cc.

◆ aboutToStart()

void zyppng::NetworkRequestPrivate::aboutToStart ( )

Definition at line 455 of file request.cc.

◆ dequeueNotify()

void zyppng::NetworkRequestPrivate::dequeueNotify ( )

Definition at line 477 of file request.cc.

◆ setResult()

void zyppng::NetworkRequestPrivate::setResult ( NetworkRequestError &&  err)

Definition at line 486 of file request.cc.

◆ reset()

void zyppng::NetworkRequestPrivate::reset ( )

Definition at line 540 of file request.cc.

◆ resetActivityTimer()

void zyppng::NetworkRequestPrivate::resetActivityTimer ( )

Definition at line 569 of file request.cc.

◆ onActivityTimeout()

void zyppng::NetworkRequestPrivate::onActivityTimeout ( Timer &  t)

Definition at line 555 of file request.cc.

◆ errorMessage()

std::string zyppng::NetworkRequestPrivate::errorMessage ( ) const

Definition at line 564 of file request.cc.

◆ setCurlOption()

template<typename T >
void zyppng::NetworkRequestPrivate::setCurlOption ( CURLoption  opt,
data 
)
inline

Definition at line 97 of file request_p.h.

◆ curlProgressCallback()

int zyppng::NetworkRequestPrivate::curlProgressCallback ( void *  clientp,
curl_off_t  dltotal,
curl_off_t  dlnow,
curl_off_t  ultotal,
curl_off_t  ulnow 
)
static

Definition at line 578 of file request.cc.

◆ headerfunction()

size_t zyppng::NetworkRequestPrivate::headerfunction ( char *  ptr,
size_t  bytes 
)
overridevirtual

Called for all received header data, after it was processed by the CurlMultiPartHandler.

Implements zyppng::CurlMultiPartDataReceiver.

Definition at line 604 of file request.cc.

◆ writefunction()

size_t zyppng::NetworkRequestPrivate::writefunction ( char *  ptr,
std::optional< off_t >  offset,
size_t  bytes 
)
overridevirtual

Data callback func, this is called whenever there is actual data to be written to the file. If offset is set, usually when starting to write a new range, it means to continue to write on the current file pointer position, otherwise seek to the given one.

Implements zyppng::CurlMultiPartDataReceiver.

Definition at line 661 of file request.cc.

Member Data Documentation

◆ _protocolMode

enum zyppng::NetworkRequestPrivate::ProtocolMode zyppng::NetworkRequestPrivate::_protocolMode = ProtocolMode::Default

◆ _errorBuf

std::array<char, CURL_ERROR_SIZE+1> zyppng::NetworkRequestPrivate::_errorBuf

Definition at line 94 of file request_p.h.

◆ _url

Url zyppng::NetworkRequestPrivate::_url

Definition at line 105 of file request_p.h.

◆ _targetFile

zypp::Pathname zyppng::NetworkRequestPrivate::_targetFile

Definition at line 106 of file request_p.h.

◆ _settings

TransferSettings zyppng::NetworkRequestPrivate::_settings

Definition at line 107 of file request_p.h.

◆ _options

NetworkRequest::Options zyppng::NetworkRequestPrivate::_options

Definition at line 108 of file request_p.h.

◆ _expectedFileSize

zypp::ByteCount zyppng::NetworkRequestPrivate::_expectedFileSize

Definition at line 109 of file request_p.h.

◆ _requestedRanges

std::vector<NetworkRequest::Range> zyppng::NetworkRequestPrivate::_requestedRanges

the requested ranges that need to be downloaded

Definition at line 110 of file request_p.h.

◆ _fileVerification

std::optional<FileVerifyInfo> zyppng::NetworkRequestPrivate::_fileVerification

The digest for the full file.

Definition at line 116 of file request_p.h.

◆ _fMode

NetworkRequest::FileMode zyppng::NetworkRequestPrivate::_fMode = NetworkRequest::WriteExclusive

Definition at line 118 of file request_p.h.

◆ _priority

NetworkRequest::Priority zyppng::NetworkRequestPrivate::_priority = NetworkRequest::Normal

Definition at line 119 of file request_p.h.

◆ _lastRedirect

std::string zyppng::NetworkRequestPrivate::_lastRedirect

to log/report redirections

Definition at line 121 of file request_p.h.

◆ _currentCookieFile

const std::string zyppng::NetworkRequestPrivate::_currentCookieFile = "/var/lib/YaST2/cookies"

Definition at line 122 of file request_p.h.

◆ _easyHandle

void* zyppng::NetworkRequestPrivate::_easyHandle = nullptr

Definition at line 124 of file request_p.h.

◆ _dispatcher

NetworkRequestDispatcher* zyppng::NetworkRequestPrivate::_dispatcher = nullptr

Definition at line 125 of file request_p.h.

◆ _sigStarted

Signal< void ( NetworkRequest &req )> zyppng::NetworkRequestPrivate::_sigStarted

Definition at line 128 of file request_p.h.

◆ _sigBytesDownloaded

Signal< void ( NetworkRequest &req, zypp::ByteCount count )> zyppng::NetworkRequestPrivate::_sigBytesDownloaded

Definition at line 129 of file request_p.h.

◆ _sigProgress

Signal< void ( NetworkRequest &req, off_t dltotal, off_t dlnow, off_t ultotal, off_t ulnow )> zyppng::NetworkRequestPrivate::_sigProgress

Definition at line 130 of file request_p.h.

◆ _sigFinished

Signal< void ( NetworkRequest &req, const NetworkRequestError &err )> zyppng::NetworkRequestPrivate::_sigFinished

Definition at line 131 of file request_p.h.

◆ _headers

std::unique_ptr< curl_slist, decltype (&curl_slist_free_all) > zyppng::NetworkRequestPrivate::_headers

Definition at line 138 of file request_p.h.

◆ _runningMode

std::variant< pending_t, running_t, prepareNextRangeBatch_t, finished_t > zyppng::NetworkRequestPrivate::_runningMode = pending_t()

Definition at line 186 of file request_p.h.


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