libzypp 8.13.6
|
Public Member Functions | |
multifetchworker (int no, multifetchrequest &request, const Url &url) | |
~multifetchworker () | |
void | nextjob () |
void | run () |
bool | checkChecksum () |
bool | recheckChecksum () |
void | disableCompetition () |
void | checkdns () |
void | adddnsfd (fd_set &rset, int &maxfd) |
void | dnsevent (fd_set &rset) |
Public Attributes | |
int | _workerno |
int | _state |
bool | _competing |
size_t | _blkno |
off_t | _blkstart |
size_t | _blksize |
bool | _noendrange |
double | _blkstarttime |
size_t | _blkreceived |
off_t | _received |
double | _avgspeed |
double | _maxspeed |
double | _sleepuntil |
Private Member Functions | |
void | stealjob () |
size_t | writefunction (void *ptr, size_t size) |
size_t | headerfunction (char *ptr, size_t size) |
Static Private Member Functions | |
static size_t | _writefunction (void *ptr, size_t size, size_t nmemb, void *stream) |
static size_t | _headerfunction (void *ptr, size_t size, size_t nmemb, void *stream) |
Private Attributes | |
multifetchrequest * | _request |
int | _pass |
string | _urlbuf |
off_t | _off |
size_t | _size |
Digest | _dig |
pid_t | _pid |
int | _dnspipe |
Friends | |
class | multifetchrequest |
Definition at line 45 of file MediaMultiCurl.cc.
zypp::media::multifetchworker::multifetchworker | ( | int | no, |
multifetchrequest & | request, | ||
const Url & | url | ||
) |
Definition at line 295 of file MediaMultiCurl.cc.
References _avgspeed, zypp::media::multifetchrequest::_blklist, _blkno, _blkreceived, _blksize, _blkstart, _blkstarttime, _competing, zypp::media::multifetchrequest::_context, zypp::media::MediaCurl::_curl, zypp::media::MediaCurl::_curlError, _dnspipe, zypp::media::multifetchrequest::_filesize, _headerfunction(), zypp::media::multifetchrequest::_maxspeed, _maxspeed, _noendrange, _off, _pass, _pid, _received, _request, zypp::media::MediaCurl::_settings, _size, _sleepuntil, _state, zypp::media::MediaHandler::_url, _urlbuf, _workerno, _writefunction(), zypp::Url::asString(), zypp::media::CurlAuthData::auth_type_str2long(), zypp::media::TransferSettings::authType(), checkdns(), zypp::media::MediaCurl::clearQueryString(), DBG, zypp::media::MediaMultiCurl::fromEasyPool(), zypp::Url::getHost(), zypp::media::MediaBlockList::haveChecksum(), zypp::media::TransferSettings::password(), zypp::media::TransferSettings::setAuthType(), zypp::media::TransferSettings::setPassword(), zypp::media::MediaCurl::setupEasy(), zypp::media::TransferSettings::setUsername(), zypp::media::TransferSettings::username(), zypp::media::TransferSettings::userPassword(), WORKER_BROKEN, and WORKER_STARTING.
zypp::media::multifetchworker::~multifetchworker | ( | ) |
Definition at line 374 of file MediaMultiCurl.cc.
References zypp::media::multifetchrequest::_context, zypp::media::MediaCurl::_curl, _dnspipe, zypp::media::multifetchrequest::_multi, _pid, _request, _state, zypp::media::MediaHandler::_url, zypp::media::MediaCurl::disconnectFrom(), zypp::Url::getHost(), zypp::media::MediaMultiCurl::toEasyPool(), WORKER_DISCARD, WORKER_DONE, WORKER_FETCH, and WORKER_SLEEP.
void zypp::media::multifetchworker::nextjob | ( | ) |
Definition at line 690 of file MediaMultiCurl.cc.
References zypp::media::multifetchrequest::_blklist, _blkno, zypp::media::multifetchrequest::_blkno, zypp::media::multifetchrequest::_blkoff, _blksize, _blkstart, zypp::media::multifetchrequest::_filesize, _noendrange, _request, zypp::media::multifetchrequest::_stealing, BLKSIZE, zypp::media::MediaBlockList::getBlock(), zypp::media::MediaBlockList::haveChecksum(), zypp::media::MediaBlockList::numBlocks(), zypp::media::MediaBlock::off, run(), zypp::media::MediaBlock::size, and stealjob().
Referenced by dnsevent(), and zypp::media::multifetchrequest::run().
void zypp::media::multifetchworker::run | ( | ) |
Definition at line 739 of file MediaMultiCurl.cc.
References zypp::media::multifetchrequest::_activeworkers, zypp::media::multifetchrequest::_blklist, _blkno, _blkreceived, _blksize, _blkstart, _blkstarttime, zypp::media::MediaCurl::_curl, zypp::media::MediaCurl::_curlError, _dig, zypp::media::multifetchrequest::_havenewjob, zypp::media::multifetchrequest::_multi, _noendrange, _off, _request, _size, _state, zypp::media::MediaHandler::_url, _workerno, zypp::media::MediaBlockList::createDigest(), zypp::media::currentTime(), DBG, WORKER_BROKEN, WORKER_DONE, and WORKER_FETCH.
Referenced by nextjob(), zypp::media::multifetchrequest::run(), and stealjob().
bool zypp::media::multifetchworker::checkChecksum | ( | ) |
Definition at line 546 of file MediaMultiCurl.cc.
References zypp::media::multifetchrequest::_blklist, _blkno, _blksize, _dig, _request, and zypp::media::MediaBlockList::verifyDigest().
Referenced by zypp::media::multifetchrequest::run().
bool zypp::media::multifetchworker::recheckChecksum | ( | ) |
Definition at line 555 of file MediaMultiCurl.cc.
References zypp::media::multifetchrequest::_blklist, _blkno, _blksize, _blkstart, _dig, zypp::media::multifetchrequest::_fp, _request, zypp::media::MediaBlockList::createDigest(), zypp::Digest::update(), and zypp::media::MediaBlockList::verifyDigest().
Referenced by zypp::media::multifetchrequest::run().
void zypp::media::multifetchworker::disableCompetition | ( | ) |
Definition at line 671 of file MediaMultiCurl.cc.
References _blkstart, _pass, _request, _state, zypp::media::multifetchrequest::_workers, WORKER_DISCARD, and WORKER_FETCH.
Referenced by zypp::media::multifetchrequest::run().
void zypp::media::multifetchworker::checkdns | ( | ) |
Definition at line 420 of file MediaMultiCurl.cc.
References zypp::media::multifetchrequest::_connect_timeout, zypp::media::multifetchrequest::_context, zypp::media::MediaCurl::_curlError, _dnspipe, _pid, _request, zypp::media::MediaCurl::_settings, _state, zypp::media::MediaHandler::_url, DBG, zypp::media::env_isset(), zypp::Url::getHost(), zypp::Url::getScheme(), zypp::media::MediaMultiCurl::isDNSok(), zypp::media::TransferSettings::proxy(), WORKER_BROKEN, and WORKER_LOOKUP.
Referenced by multifetchworker().
void zypp::media::multifetchworker::adddnsfd | ( | fd_set & | rset, |
int & | maxfd | ||
) |
Definition at line 498 of file MediaMultiCurl.cc.
References _dnspipe, _state, and WORKER_LOOKUP.
void zypp::media::multifetchworker::dnsevent | ( | fd_set & | rset | ) |
Definition at line 508 of file MediaMultiCurl.cc.
References zypp::media::multifetchrequest::_activeworkers, zypp::media::multifetchrequest::_context, zypp::media::MediaCurl::_curlError, _dnspipe, _pid, _request, _state, zypp::media::MediaHandler::_url, _workerno, DBG, zypp::Url::getHost(), nextjob(), zypp::media::MediaMultiCurl::setDNSok(), WORKER_BROKEN, and WORKER_LOOKUP.
Referenced by zypp::media::multifetchrequest::run().
void zypp::media::multifetchworker::stealjob | ( | ) | [private] |
Definition at line 578 of file MediaMultiCurl.cc.
References zypp::media::multifetchrequest::_activeworkers, _avgspeed, _blkno, _blkreceived, _blksize, _blkstart, _blkstarttime, _competing, zypp::media::multifetchrequest::_finished, _pass, _request, _sleepuntil, zypp::media::multifetchrequest::_sleepworkers, _state, zypp::media::multifetchrequest::_stealing, _workerno, zypp::media::multifetchrequest::_workers, zypp::media::currentTime(), DBG, run(), WORKER_DISCARD, WORKER_DONE, and WORKER_SLEEP.
Referenced by nextjob(), and zypp::media::multifetchrequest::run().
size_t zypp::media::multifetchworker::writefunction | ( | void * | ptr, |
size_t | size | ||
) | [private] |
Definition at line 176 of file MediaMultiCurl.cc.
References zypp::media::currentTime(), WORKER_BROKEN, and WORKER_DISCARD.
Referenced by _writefunction().
size_t zypp::media::multifetchworker::_writefunction | ( | void * | ptr, |
size_t | size, | ||
size_t | nmemb, | ||
void * | stream | ||
) | [static, private] |
Definition at line 238 of file MediaMultiCurl.cc.
References writefunction().
Referenced by multifetchworker().
size_t zypp::media::multifetchworker::headerfunction | ( | char * | ptr, |
size_t | size | ||
) | [private] |
Definition at line 245 of file MediaMultiCurl.cc.
References DBG, WAR, and WORKER_BROKEN.
Referenced by _headerfunction().
size_t zypp::media::multifetchworker::_headerfunction | ( | void * | ptr, |
size_t | size, | ||
size_t | nmemb, | ||
void * | stream | ||
) | [static, private] |
Definition at line 289 of file MediaMultiCurl.cc.
References headerfunction().
Referenced by multifetchworker().
friend class multifetchrequest [friend] |
Definition at line 46 of file MediaMultiCurl.cc.
Definition at line 61 of file MediaMultiCurl.cc.
Referenced by dnsevent(), multifetchworker(), zypp::media::multifetchrequest::run(), run(), and stealjob().
Definition at line 63 of file MediaMultiCurl.cc.
Referenced by adddnsfd(), checkdns(), disableCompetition(), dnsevent(), multifetchworker(), zypp::media::multifetchrequest::run(), run(), stealjob(), and ~multifetchworker().
Definition at line 64 of file MediaMultiCurl.cc.
Referenced by multifetchworker(), zypp::media::multifetchrequest::run(), and stealjob().
Definition at line 66 of file MediaMultiCurl.cc.
Referenced by checkChecksum(), multifetchworker(), nextjob(), recheckChecksum(), zypp::media::multifetchrequest::run(), run(), and stealjob().
Definition at line 67 of file MediaMultiCurl.cc.
Referenced by disableCompetition(), multifetchworker(), nextjob(), recheckChecksum(), zypp::media::multifetchrequest::run(), run(), and stealjob().
Definition at line 68 of file MediaMultiCurl.cc.
Referenced by checkChecksum(), multifetchworker(), nextjob(), recheckChecksum(), zypp::media::multifetchrequest::run(), run(), and stealjob().
Definition at line 69 of file MediaMultiCurl.cc.
Referenced by multifetchworker(), nextjob(), zypp::media::multifetchrequest::run(), and run().
Definition at line 71 of file MediaMultiCurl.cc.
Referenced by multifetchworker(), zypp::media::multifetchrequest::run(), run(), and stealjob().
Definition at line 72 of file MediaMultiCurl.cc.
Referenced by multifetchworker(), zypp::media::multifetchrequest::run(), run(), and stealjob().
Definition at line 73 of file MediaMultiCurl.cc.
Referenced by multifetchworker(), and zypp::media::multifetchrequest::run().
Definition at line 75 of file MediaMultiCurl.cc.
Referenced by multifetchworker(), zypp::media::multifetchrequest::run(), and stealjob().
Definition at line 76 of file MediaMultiCurl.cc.
Referenced by multifetchworker(), and zypp::media::multifetchrequest::run().
Definition at line 78 of file MediaMultiCurl.cc.
Referenced by multifetchworker(), zypp::media::multifetchrequest::run(), and stealjob().
Definition at line 89 of file MediaMultiCurl.cc.
Referenced by checkChecksum(), checkdns(), disableCompetition(), dnsevent(), multifetchworker(), nextjob(), recheckChecksum(), run(), stealjob(), and ~multifetchworker().
int zypp::media::multifetchworker::_pass [private] |
Definition at line 90 of file MediaMultiCurl.cc.
Referenced by disableCompetition(), multifetchworker(), and stealjob().
string zypp::media::multifetchworker::_urlbuf [private] |
Definition at line 91 of file MediaMultiCurl.cc.
Referenced by multifetchworker().
off_t zypp::media::multifetchworker::_off [private] |
Definition at line 92 of file MediaMultiCurl.cc.
Referenced by multifetchworker(), and run().
size_t zypp::media::multifetchworker::_size [private] |
Definition at line 93 of file MediaMultiCurl.cc.
Referenced by multifetchworker(), and run().
Digest zypp::media::multifetchworker::_dig [private] |
Definition at line 94 of file MediaMultiCurl.cc.
Referenced by checkChecksum(), recheckChecksum(), and run().
pid_t zypp::media::multifetchworker::_pid [private] |
Definition at line 96 of file MediaMultiCurl.cc.
Referenced by checkdns(), dnsevent(), multifetchworker(), and ~multifetchworker().
int zypp::media::multifetchworker::_dnspipe [private] |
Definition at line 97 of file MediaMultiCurl.cc.
Referenced by adddnsfd(), checkdns(), dnsevent(), multifetchworker(), and ~multifetchworker().