libzypp 8.13.6
Public Member Functions | Protected Member Functions | Private Attributes | Friends

zypp::media::MediaMultiCurl Class Reference

#include <MediaMultiCurl.h>

Inheritance diagram for zypp::media::MediaMultiCurl:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 MediaMultiCurl (const Url &url_r, const Pathname &attach_point_hint_r)
 ~MediaMultiCurl ()
virtual void doGetFileCopy (const Pathname &srcFilename, const Pathname &targetFilename, callback::SendReport< DownloadProgressReport > &_report, RequestOptions options=OPTION_NONE) const
void multifetch (const Pathname &filename, FILE *fp, std::vector< Url > *urllist, callback::SendReport< DownloadProgressReport > *report=0, MediaBlockList *blklist=0, off_t filesize=off_t(-1)) const

Protected Member Functions

bool isDNSok (const std::string &host) const
void setDNSok (const std::string &host) const
CURL * fromEasyPool (const std::string &host) const
void toEasyPool (const std::string &host, CURL *easy) const
virtual void setupEasy ()
 initializes the curl easy handle with the data from the url
void checkFileDigest (Url &url, FILE *fp, MediaBlockList *blklist) const

Private Attributes

curl_slist * _customHeadersMetalink
CURLM * _multi
std::set< std::string > _dnsok
std::map< std::string, CURL * > _easypool

Friends

class multifetchrequest
class multifetchworker

Detailed Description

Definition at line 40 of file MediaMultiCurl.h.


Constructor & Destructor Documentation

zypp::media::MediaMultiCurl::MediaMultiCurl ( const Url url_r,
const Pathname &  attach_point_hint_r 
)

Definition at line 1148 of file MediaMultiCurl.cc.

References _customHeadersMetalink, _multi, and MIL.

zypp::media::MediaMultiCurl::~MediaMultiCurl ( )

Definition at line 1156 of file MediaMultiCurl.cc.

References _customHeadersMetalink, _easypool, and _multi.


Member Function Documentation

void zypp::media::MediaMultiCurl::doGetFileCopy ( const Pathname &  srcFilename,
const Pathname &  targetFilename,
callback::SendReport< DownloadProgressReport > &  _report,
RequestOptions  options = OPTION_NONE 
) const [virtual]
void zypp::media::MediaMultiCurl::multifetch ( const Pathname &  filename,
FILE *  fp,
std::vector< Url > *  urllist,
callback::SendReport< DownloadProgressReport > *  report = 0,
MediaBlockList blklist = 0,
off_t  filesize = off_t(-1) 
) const
bool zypp::media::MediaMultiCurl::isDNSok ( const std::string &  host) const [protected]

Definition at line 1481 of file MediaMultiCurl.cc.

References _dnsok.

Referenced by zypp::media::multifetchworker::checkdns().

void zypp::media::MediaMultiCurl::setDNSok ( const std::string &  host) const [protected]

Definition at line 1486 of file MediaMultiCurl.cc.

References _dnsok.

Referenced by zypp::media::multifetchworker::dnsevent().

CURL * zypp::media::MediaMultiCurl::fromEasyPool ( const std::string &  host) const [protected]

Definition at line 1491 of file MediaMultiCurl.cc.

References _easypool.

Referenced by zypp::media::multifetchworker::multifetchworker().

void zypp::media::MediaMultiCurl::toEasyPool ( const std::string &  host,
CURL *  easy 
) const [protected]

Definition at line 1500 of file MediaMultiCurl.cc.

References _easypool.

Referenced by zypp::media::multifetchworker::~multifetchworker().

void zypp::media::MediaMultiCurl::setupEasy ( ) [protected, virtual]

initializes the curl easy handle with the data from the url

Exceptions:
MediaCurlSetOptExceptionif there is a problem

Connect timeout

Speed limits

Reimplemented from zypp::media::MediaCurl.

Definition at line 1180 of file MediaMultiCurl.cc.

References zypp::media::MediaCurl::_customHeaders, and _customHeadersMetalink.

void zypp::media::MediaMultiCurl::checkFileDigest ( Url url,
FILE *  fp,
MediaBlockList blklist 
) const [protected]

Friends And Related Function Documentation

friend class multifetchrequest [friend]

Definition at line 42 of file MediaMultiCurl.h.

friend class multifetchworker [friend]

Definition at line 43 of file MediaMultiCurl.h.


Member Data Documentation

Definition at line 65 of file MediaMultiCurl.h.

Referenced by doGetFileCopy(), MediaMultiCurl(), setupEasy(), and ~MediaMultiCurl().

CURLM* zypp::media::MediaMultiCurl::_multi [mutable, private]

Definition at line 66 of file MediaMultiCurl.h.

Referenced by MediaMultiCurl(), multifetch(), and ~MediaMultiCurl().

std::set<std::string> zypp::media::MediaMultiCurl::_dnsok [mutable, private]

Definition at line 67 of file MediaMultiCurl.h.

Referenced by isDNSok(), and setDNSok().

std::map<std::string, CURL *> zypp::media::MediaMultiCurl::_easypool [mutable, private]

Definition at line 68 of file MediaMultiCurl.h.

Referenced by fromEasyPool(), toEasyPool(), and ~MediaMultiCurl().


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