libzypp  10.5.0
zypp::media::MediaMultiCurl Class Reference

#include <MediaMultiCurl.h>

Inheritance diagram for zypp::media::MediaMultiCurl:

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.

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

Definition at line 1163 of file MediaMultiCurl.cc.


Member Function Documentation

void zypp::media::MediaMultiCurl::doGetFileCopy ( const Pathname &  srcFilename,
const Pathname &  targetFilename,
callback::SendReport< DownloadProgressReport > &  _report,
RequestOptions  options = OPTION_NONE 
) const [virtual]
Exceptions:
MediaException

Reimplemented from zypp::media::MediaCurl.

Definition at line 1231 of file MediaMultiCurl.cc.

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

Definition at line 1421 of file MediaMultiCurl.cc.

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

Definition at line 1488 of file MediaMultiCurl.cc.

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

Definition at line 1493 of file MediaMultiCurl.cc.

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

Definition at line 1498 of file MediaMultiCurl.cc.

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

Definition at line 1507 of file MediaMultiCurl.cc.

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.

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

Definition at line 1472 of file MediaMultiCurl.cc.


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.

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

Definition at line 66 of file MediaMultiCurl.h.

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

Definition at line 67 of file MediaMultiCurl.h.

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

Definition at line 68 of file MediaMultiCurl.h.


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