libzypp 9.41.1

zypp::media::MediaMultiCurl Class Reference

#include <MediaMultiCurl.h>

Inheritance diagram for zypp::media::MediaMultiCurl:
zypp::media::MediaCurl zypp::media::MediaHandler

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 1155 of file MediaMultiCurl.cc.

References _customHeadersMetalink, _multi, and MIL.

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

Definition at line 1163 of file MediaMultiCurl.cc.

References _customHeadersMetalink, _easypool, and _multi.


Member Function Documentation

bool zypp::media::MediaMultiCurl::isDNSok ( const std::string &  host) const [protected]

Definition at line 1488 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 1493 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 1498 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 1507 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 1187 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

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: