Sophie

Sophie

distrib > Mageia > 6 > x86_64 > by-pkgid > 16e298361edb3000a9b1c7b2dae804b9 > files > 503

apt-mga-1.4.6-1.mga6.x86_64.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>apt: pkgAcquire::Worker Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">apt
   &#160;<span id="projectnumber">1.4.6</span>
   </div>
   <div id="projectbrief">commandline package manager</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',false,false,'search.php','Search');
});
</script>
<div id="main-nav"></div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="classpkgAcquire.xhtml">pkgAcquire</a></li><li class="navelem"><a class="el" href="classpkgAcquire_1_1Worker.xhtml">Worker</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="classpkgAcquire_1_1Worker-members.xhtml">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">pkgAcquire::Worker Class Reference<div class="ingroups"><a class="el" href="group__acquire.xhtml">Acquire system					{{{</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>A fetch subprocess.  
 <a href="classpkgAcquire_1_1Worker.xhtml#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="acquire-worker_8h_source.xhtml">apt-pkg/acquire-worker.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for pkgAcquire::Worker:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classpkgAcquire_1_1Worker.png" usemap="#pkgAcquire::Worker_map" alt=""/>
  <map id="pkgAcquire::Worker_map" name="pkgAcquire::Worker_map">
<area href="classWeakPointable.xhtml" alt="WeakPointable" shape="rect" coords="0,0,95,24"/>
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a37fbf2dea83d49ebf053ecc76c5b39b3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpkgAcquire_1_1Worker.xhtml#a37fbf2dea83d49ebf053ecc76c5b39b3">QueueItem</a> (<a class="el" href="structpkgAcquire_1_1Queue_1_1QItem.xhtml">pkgAcquire::Queue::QItem</a> *<a class="el" href="classpkgAcquire_1_1Item.xhtml">Item</a>)</td></tr>
<tr class="memdesc:a37fbf2dea83d49ebf053ecc76c5b39b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tell the subprocess to download the given item.  <a href="#a37fbf2dea83d49ebf053ecc76c5b39b3">More...</a><br /></td></tr>
<tr class="separator:a37fbf2dea83d49ebf053ecc76c5b39b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa70efaa4751ac6d5d54dce88fe725e0a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpkgAcquire_1_1Worker.xhtml#aa70efaa4751ac6d5d54dce88fe725e0a">Start</a> ()</td></tr>
<tr class="memdesc:aa70efaa4751ac6d5d54dce88fe725e0a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start up the worker and fill in <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a33b828cdf6b336e68c51bb8e068e1297" title="The configuration of this method. On startup, the target of this pointer is filled in with basic data...">Config</a>.  <a href="#aa70efaa4751ac6d5d54dce88fe725e0a">More...</a><br /></td></tr>
<tr class="separator:aa70efaa4751ac6d5d54dce88fe725e0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7e67c4b41efe972e0bd8ccaeacce912"><td class="memItemLeft" align="right" valign="top"><a id="ae7e67c4b41efe972e0bd8ccaeacce912"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpkgAcquire_1_1Worker.xhtml#ae7e67c4b41efe972e0bd8ccaeacce912">Pulse</a> ()</td></tr>
<tr class="memdesc:ae7e67c4b41efe972e0bd8ccaeacce912"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update the worker statistics (CurrentSize, TotalSize, etc). <br /></td></tr>
<tr class="separator:ae7e67c4b41efe972e0bd8ccaeacce912"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b88e4cc12a0a74aad2b80e5313859b3"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structpkgAcquire_1_1MethodConfig.xhtml">MethodConfig</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpkgAcquire_1_1Worker.xhtml#a8b88e4cc12a0a74aad2b80e5313859b3">GetConf</a> () const</td></tr>
<tr class="separator:a8b88e4cc12a0a74aad2b80e5313859b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0cf8a483d82d1372c6f7d499937860c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpkgAcquire_1_1Worker.xhtml#ac0cf8a483d82d1372c6f7d499937860c">Worker</a> (<a class="el" href="classpkgAcquire_1_1Queue.xhtml">Queue</a> *<a class="el" href="classpkgAcquire_1_1Worker.xhtml#a99d906c6fe7507d8452fa4566377d2eb">OwnerQ</a>, <a class="el" href="structpkgAcquire_1_1MethodConfig.xhtml">MethodConfig</a> *<a class="el" href="classpkgAcquire_1_1Worker.xhtml#a33b828cdf6b336e68c51bb8e068e1297">Config</a>, <a class="el" href="classpkgAcquireStatus.xhtml">pkgAcquireStatus</a> *<a class="el" href="classpkgAcquire_1_1Worker.xhtml#aa7f97da72ceb8761a1cda178c778ca7c">Log</a>)</td></tr>
<tr class="memdesc:ac0cf8a483d82d1372c6f7d499937860c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new <a class="el" href="classpkgAcquire_1_1Worker.xhtml" title="A fetch subprocess. ">Worker</a> to download files.  <a href="#ac0cf8a483d82d1372c6f7d499937860c">More...</a><br /></td></tr>
<tr class="separator:ac0cf8a483d82d1372c6f7d499937860c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2af0336261da4341b48814adf215290"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpkgAcquire_1_1Worker.xhtml#ae2af0336261da4341b48814adf215290">Worker</a> (<a class="el" href="structpkgAcquire_1_1MethodConfig.xhtml">MethodConfig</a> *<a class="el" href="classpkgAcquire_1_1Worker.xhtml#a33b828cdf6b336e68c51bb8e068e1297">Config</a>)</td></tr>
<tr class="memdesc:ae2af0336261da4341b48814adf215290"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new <a class="el" href="classpkgAcquire_1_1Worker.xhtml" title="A fetch subprocess. ">Worker</a> that should just retrieve information about the fetch method.  <a href="#ae2af0336261da4341b48814adf215290">More...</a><br /></td></tr>
<tr class="separator:ae2af0336261da4341b48814adf215290"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c90b9d499e906079194f681b6cb90ca"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpkgAcquire_1_1Worker.xhtml#a6c90b9d499e906079194f681b6cb90ca">~Worker</a> ()</td></tr>
<tr class="memdesc:a6c90b9d499e906079194f681b6cb90ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clean up this worker.  <a href="#a6c90b9d499e906079194f681b6cb90ca">More...</a><br /></td></tr>
<tr class="separator:a6c90b9d499e906079194f681b6cb90ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classWeakPointable"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classWeakPointable')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classWeakPointable.xhtml">WeakPointable</a></td></tr>
<tr class="memitem:ac9855cc66cd0e4d7425f4a6bbcfb5e80 inherit pub_methods_classWeakPointable"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWeakPointable.xhtml#ac9855cc66cd0e4d7425f4a6bbcfb5e80">AddWeakPointer</a> (<a class="el" href="classWeakPointable.xhtml">WeakPointable</a> **weakptr)</td></tr>
<tr class="separator:ac9855cc66cd0e4d7425f4a6bbcfb5e80 inherit pub_methods_classWeakPointable"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2d7f814fc839c7ebdf677fb6f87ff5e inherit pub_methods_classWeakPointable"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWeakPointable.xhtml#ad2d7f814fc839c7ebdf677fb6f87ff5e">RemoveWeakPointer</a> (<a class="el" href="classWeakPointable.xhtml">WeakPointable</a> **weakptr)</td></tr>
<tr class="separator:ad2d7f814fc839c7ebdf677fb6f87ff5e inherit pub_methods_classWeakPointable"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afec646ba51ad955392a42a9312061b56 inherit pub_methods_classWeakPointable"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWeakPointable.xhtml#afec646ba51ad955392a42a9312061b56">~WeakPointable</a> ()</td></tr>
<tr class="separator:afec646ba51ad955392a42a9312061b56 inherit pub_methods_classWeakPointable"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:adbe3d9577156a7736f774428835b31e9"><td class="memItemLeft" align="right" valign="top"><a id="adbe3d9577156a7736f774428835b31e9"></a>
<a class="el" href="structpkgAcquire_1_1Queue_1_1QItem.xhtml">pkgAcquire::Queue::QItem</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpkgAcquire_1_1Worker.xhtml#adbe3d9577156a7736f774428835b31e9">CurrentItem</a></td></tr>
<tr class="memdesc:adbe3d9577156a7736f774428835b31e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">The queue entry that is currently being downloaded. <br /></td></tr>
<tr class="separator:adbe3d9577156a7736f774428835b31e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae08432c27cb86081cae64bb384b3ac4b"><td class="memItemLeft" align="right" valign="top"><a id="ae08432c27cb86081cae64bb384b3ac4b"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpkgAcquire_1_1Worker.xhtml#ae08432c27cb86081cae64bb384b3ac4b">Status</a></td></tr>
<tr class="memdesc:ae08432c27cb86081cae64bb384b3ac4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">The most recent status string received from the subprocess. <br /></td></tr>
<tr class="separator:ae08432c27cb86081cae64bb384b3ac4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6da844ee8d9f7ae8f59e1821edc7948"><td class="memItemLeft" align="right" valign="top"><a id="af6da844ee8d9f7ae8f59e1821edc7948"></a>
unsigned long long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpkgAcquire_1_1Worker.xhtml#af6da844ee8d9f7ae8f59e1821edc7948">CurrentSize</a></td></tr>
<tr class="memdesc:af6da844ee8d9f7ae8f59e1821edc7948"><td class="mdescLeft">&#160;</td><td class="mdescRight">How many bytes of the file have been downloaded. Zero if the current progress of the file cannot be determined. <br /></td></tr>
<tr class="separator:af6da844ee8d9f7ae8f59e1821edc7948"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace18d22dfea021e7f9ae876b1974ccbe"><td class="memItemLeft" align="right" valign="top"><a id="ace18d22dfea021e7f9ae876b1974ccbe"></a>
unsigned long long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpkgAcquire_1_1Worker.xhtml#ace18d22dfea021e7f9ae876b1974ccbe">TotalSize</a></td></tr>
<tr class="memdesc:ace18d22dfea021e7f9ae876b1974ccbe"><td class="mdescLeft">&#160;</td><td class="mdescRight">The total number of bytes to be downloaded. Zero if the total size of the final is unknown. <br /></td></tr>
<tr class="separator:ace18d22dfea021e7f9ae876b1974ccbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd497ee7ec5dec08e88b4658730ecf63"><td class="memItemLeft" align="right" valign="top"><a id="abd497ee7ec5dec08e88b4658730ecf63"></a>
unsigned long long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpkgAcquire_1_1Worker.xhtml#abd497ee7ec5dec08e88b4658730ecf63">ResumePoint</a></td></tr>
<tr class="memdesc:abd497ee7ec5dec08e88b4658730ecf63"><td class="mdescLeft">&#160;</td><td class="mdescRight">How much of the file was already downloaded prior to starting this worker. <br /></td></tr>
<tr class="separator:abd497ee7ec5dec08e88b4658730ecf63"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a9af72b216eb95e320f0f261d9497c5c1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpkgAcquire_1_1Worker.xhtml#a9af72b216eb95e320f0f261d9497c5c1">Construct</a> ()</td></tr>
<tr class="memdesc:a9af72b216eb95e320f0f261d9497c5c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Common code for the constructor.  <a href="#a9af72b216eb95e320f0f261d9497c5c1">More...</a><br /></td></tr>
<tr class="separator:a9af72b216eb95e320f0f261d9497c5c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f374a34dcd1bd9881717b345118fd49"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpkgAcquire_1_1Worker.xhtml#a1f374a34dcd1bd9881717b345118fd49">ReadMessages</a> ()</td></tr>
<tr class="memdesc:a1f374a34dcd1bd9881717b345118fd49"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve any available messages from the subprocess.  <a href="#a1f374a34dcd1bd9881717b345118fd49">More...</a><br /></td></tr>
<tr class="separator:a1f374a34dcd1bd9881717b345118fd49"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26a68d57a249a042c1e32186ce2fce8b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpkgAcquire_1_1Worker.xhtml#a26a68d57a249a042c1e32186ce2fce8b">RunMessages</a> ()</td></tr>
<tr class="memdesc:a26a68d57a249a042c1e32186ce2fce8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parse and dispatch pending messages.  <a href="#a26a68d57a249a042c1e32186ce2fce8b">More...</a><br /></td></tr>
<tr class="separator:a26a68d57a249a042c1e32186ce2fce8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a3e1a57c0fe730162df8a50677ae513"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpkgAcquire_1_1Worker.xhtml#a5a3e1a57c0fe730162df8a50677ae513">InFdReady</a> ()</td></tr>
<tr class="memdesc:a5a3e1a57c0fe730162df8a50677ae513"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read and dispatch any pending messages from the subprocess.  <a href="#a5a3e1a57c0fe730162df8a50677ae513">More...</a><br /></td></tr>
<tr class="separator:a5a3e1a57c0fe730162df8a50677ae513"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2bd3e6488eaf8af11cedae06f7de9e2c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpkgAcquire_1_1Worker.xhtml#a2bd3e6488eaf8af11cedae06f7de9e2c">OutFdReady</a> ()</td></tr>
<tr class="memdesc:a2bd3e6488eaf8af11cedae06f7de9e2c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send any pending commands to the subprocess.  <a href="#a2bd3e6488eaf8af11cedae06f7de9e2c">More...</a><br /></td></tr>
<tr class="separator:a2bd3e6488eaf8af11cedae06f7de9e2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3de23b9c5a564121a667dd9b392e158"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpkgAcquire_1_1Worker.xhtml#aa3de23b9c5a564121a667dd9b392e158">Capabilities</a> (std::string Message)</td></tr>
<tr class="memdesc:aa3de23b9c5a564121a667dd9b392e158"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handle a 100 Capabilities response from the subprocess.  <a href="#aa3de23b9c5a564121a667dd9b392e158">More...</a><br /></td></tr>
<tr class="separator:aa3de23b9c5a564121a667dd9b392e158"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af79a315ab449f2046389c91e3f114326"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpkgAcquire_1_1Worker.xhtml#af79a315ab449f2046389c91e3f114326">SendConfiguration</a> ()</td></tr>
<tr class="memdesc:af79a315ab449f2046389c91e3f114326"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a 601 <a class="el" href="classConfiguration.xhtml">Configuration</a> message (containing the APT configuration) to the subprocess.  <a href="#af79a315ab449f2046389c91e3f114326">More...</a><br /></td></tr>
<tr class="separator:af79a315ab449f2046389c91e3f114326"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5fa3dc5431fbfcd2b5ceed5f97f1eb84"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpkgAcquire_1_1Worker.xhtml#a5fa3dc5431fbfcd2b5ceed5f97f1eb84">MediaChange</a> (std::string Message)</td></tr>
<tr class="memdesc:a5fa3dc5431fbfcd2b5ceed5f97f1eb84"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handle a 403 Media Change message.  <a href="#a5fa3dc5431fbfcd2b5ceed5f97f1eb84">More...</a><br /></td></tr>
<tr class="separator:a5fa3dc5431fbfcd2b5ceed5f97f1eb84"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94fe52037e4594131495b1791d6654ea"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpkgAcquire_1_1Worker.xhtml#a94fe52037e4594131495b1791d6654ea">MethodFailure</a> ()</td></tr>
<tr class="memdesc:a94fe52037e4594131495b1791d6654ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoked when the worked process dies unexpectedly.  <a href="#a94fe52037e4594131495b1791d6654ea">More...</a><br /></td></tr>
<tr class="separator:a94fe52037e4594131495b1791d6654ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a6deb8c5e68383147e31b24690ea0fd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpkgAcquire_1_1Worker.xhtml#a6a6deb8c5e68383147e31b24690ea0fd">ItemDone</a> ()</td></tr>
<tr class="memdesc:a6a6deb8c5e68383147e31b24690ea0fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoked when a fetch job is completed, either successfully or unsuccessfully.  <a href="#a6a6deb8c5e68383147e31b24690ea0fd">More...</a><br /></td></tr>
<tr class="separator:a6a6deb8c5e68383147e31b24690ea0fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a70b012fdfb38bfe94b52924d45c5462d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpkgAcquire_1_1Worker.xhtml">Worker</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpkgAcquire_1_1Worker.xhtml#a70b012fdfb38bfe94b52924d45c5462d">NextQueue</a></td></tr>
<tr class="memdesc:a70b012fdfb38bfe94b52924d45c5462d"><td class="mdescLeft">&#160;</td><td class="mdescRight">The next link on the <a class="el" href="classpkgAcquire_1_1Queue.xhtml" title="A single download queue in a pkgAcquire object. {{{. ">Queue</a> list.  <a href="#a70b012fdfb38bfe94b52924d45c5462d">More...</a><br /></td></tr>
<tr class="separator:a70b012fdfb38bfe94b52924d45c5462d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3faf9ec3dc6548bd0ec0f656a91d9b8f"><td class="memItemLeft" align="right" valign="top"><a id="a3faf9ec3dc6548bd0ec0f656a91d9b8f"></a>
<a class="el" href="classpkgAcquire_1_1Worker.xhtml">Worker</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpkgAcquire_1_1Worker.xhtml#a3faf9ec3dc6548bd0ec0f656a91d9b8f">NextAcquire</a></td></tr>
<tr class="memdesc:a3faf9ec3dc6548bd0ec0f656a91d9b8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">The next link on the Acquire list. <br /></td></tr>
<tr class="separator:a3faf9ec3dc6548bd0ec0f656a91d9b8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99d906c6fe7507d8452fa4566377d2eb"><td class="memItemLeft" align="right" valign="top"><a id="a99d906c6fe7507d8452fa4566377d2eb"></a>
<a class="el" href="classpkgAcquire_1_1Queue.xhtml">Queue</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpkgAcquire_1_1Worker.xhtml#a99d906c6fe7507d8452fa4566377d2eb">OwnerQ</a></td></tr>
<tr class="memdesc:a99d906c6fe7507d8452fa4566377d2eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <a class="el" href="classpkgAcquire_1_1Queue.xhtml" title="A single download queue in a pkgAcquire object. {{{. ">Queue</a> with which this worker is associated. <br /></td></tr>
<tr class="separator:a99d906c6fe7507d8452fa4566377d2eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7f97da72ceb8761a1cda178c778ca7c"><td class="memItemLeft" align="right" valign="top"><a id="aa7f97da72ceb8761a1cda178c778ca7c"></a>
<a class="el" href="classpkgAcquireStatus.xhtml">pkgAcquireStatus</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpkgAcquire_1_1Worker.xhtml#aa7f97da72ceb8761a1cda178c778ca7c">Log</a></td></tr>
<tr class="memdesc:aa7f97da72ceb8761a1cda178c778ca7c"><td class="mdescLeft">&#160;</td><td class="mdescRight">The download progress indicator to which progress messages should be sent. <br /></td></tr>
<tr class="separator:aa7f97da72ceb8761a1cda178c778ca7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33b828cdf6b336e68c51bb8e068e1297"><td class="memItemLeft" align="right" valign="top"><a id="a33b828cdf6b336e68c51bb8e068e1297"></a>
<a class="el" href="structpkgAcquire_1_1MethodConfig.xhtml">MethodConfig</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpkgAcquire_1_1Worker.xhtml#a33b828cdf6b336e68c51bb8e068e1297">Config</a></td></tr>
<tr class="memdesc:a33b828cdf6b336e68c51bb8e068e1297"><td class="mdescLeft">&#160;</td><td class="mdescRight">The configuration of this method. On startup, the target of this pointer is filled in with basic data about the method, as reported by the worker. <br /></td></tr>
<tr class="separator:a33b828cdf6b336e68c51bb8e068e1297"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a006a979c4801f6b6ceb33cb3acd6dc89"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpkgAcquire_1_1Worker.xhtml#a006a979c4801f6b6ceb33cb3acd6dc89">Access</a></td></tr>
<tr class="memdesc:a006a979c4801f6b6ceb33cb3acd6dc89"><td class="mdescLeft">&#160;</td><td class="mdescRight">The access method to be used by this worker.  <a href="#a006a979c4801f6b6ceb33cb3acd6dc89">More...</a><br /></td></tr>
<tr class="separator:a006a979c4801f6b6ceb33cb3acd6dc89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a593a34f5ed2b53f33f69c4f17aa836eb"><td class="memItemLeft" align="right" valign="top"><a id="a593a34f5ed2b53f33f69c4f17aa836eb"></a>
pid_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpkgAcquire_1_1Worker.xhtml#a593a34f5ed2b53f33f69c4f17aa836eb">Process</a></td></tr>
<tr class="memdesc:a593a34f5ed2b53f33f69c4f17aa836eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">The PID of the subprocess. <br /></td></tr>
<tr class="separator:a593a34f5ed2b53f33f69c4f17aa836eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2eb3145b965a64b578db347d1bae648b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpkgAcquire_1_1Worker.xhtml#a2eb3145b965a64b578db347d1bae648b">InFd</a></td></tr>
<tr class="memdesc:a2eb3145b965a64b578db347d1bae648b"><td class="mdescLeft">&#160;</td><td class="mdescRight">A file descriptor connected to the standard output of the subprocess.  <a href="#a2eb3145b965a64b578db347d1bae648b">More...</a><br /></td></tr>
<tr class="separator:a2eb3145b965a64b578db347d1bae648b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af2679e54f43d436f88045350be6fb2ab"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpkgAcquire_1_1Worker.xhtml#af2679e54f43d436f88045350be6fb2ab">OutFd</a></td></tr>
<tr class="memdesc:af2679e54f43d436f88045350be6fb2ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">A file descriptor connected to the standard input of the subprocess.  <a href="#af2679e54f43d436f88045350be6fb2ab">More...</a><br /></td></tr>
<tr class="separator:af2679e54f43d436f88045350be6fb2ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7c248ae34ac80ca11a173980d49f991"><td class="memItemLeft" align="right" valign="top"><a id="ad7c248ae34ac80ca11a173980d49f991"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpkgAcquire_1_1Worker.xhtml#ad7c248ae34ac80ca11a173980d49f991">PrivSepSocketFd</a></td></tr>
<tr class="memdesc:ad7c248ae34ac80ca11a173980d49f991"><td class="mdescLeft">&#160;</td><td class="mdescRight">The socket to send SCM_RIGHTS message through. <br /></td></tr>
<tr class="separator:ad7c248ae34ac80ca11a173980d49f991"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2fa9fc8e728a455a1cd4e76a8dd86411"><td class="memItemLeft" align="right" valign="top"><a id="a2fa9fc8e728a455a1cd4e76a8dd86411"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>PrivSepSocketFdChild</b></td></tr>
<tr class="separator:a2fa9fc8e728a455a1cd4e76a8dd86411"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a849bc65c54e1bcbe8a7f053ce2cec672"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpkgAcquire_1_1Worker.xhtml#a849bc65c54e1bcbe8a7f053ce2cec672">InReady</a></td></tr>
<tr class="memdesc:a849bc65c54e1bcbe8a7f053ce2cec672"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set to <b>true</b> if the worker is in a state in which it might generate data or command responses.  <a href="#a849bc65c54e1bcbe8a7f053ce2cec672">More...</a><br /></td></tr>
<tr class="separator:a849bc65c54e1bcbe8a7f053ce2cec672"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b8717fb6d062212c251900cee4e6004"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpkgAcquire_1_1Worker.xhtml#a0b8717fb6d062212c251900cee4e6004">OutReady</a></td></tr>
<tr class="memdesc:a0b8717fb6d062212c251900cee4e6004"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set to <b>true</b> if the worker is in a state in which it is legal to send commands to it.  <a href="#a0b8717fb6d062212c251900cee4e6004">More...</a><br /></td></tr>
<tr class="separator:a0b8717fb6d062212c251900cee4e6004"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acdf3472c9b75f32dae88032d42d1cb6c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpkgAcquire_1_1Worker.xhtml#acdf3472c9b75f32dae88032d42d1cb6c">Debug</a></td></tr>
<tr class="separator:acdf3472c9b75f32dae88032d42d1cb6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4a47a4aae6979a5a870f4fd7953a8d6"><td class="memItemLeft" align="right" valign="top"><a id="ad4a47a4aae6979a5a870f4fd7953a8d6"></a>
std::vector&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpkgAcquire_1_1Worker.xhtml#ad4a47a4aae6979a5a870f4fd7953a8d6">MessageQueue</a></td></tr>
<tr class="memdesc:ad4a47a4aae6979a5a870f4fd7953a8d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">The raw text values of messages received from the worker, in sequence. <br /></td></tr>
<tr class="separator:ad4a47a4aae6979a5a870f4fd7953a8d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27ee7762ef1caaf3ec8c3598c15e7886"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpkgAcquire_1_1Worker.xhtml#a27ee7762ef1caaf3ec8c3598c15e7886">OutQueue</a></td></tr>
<tr class="memdesc:a27ee7762ef1caaf3ec8c3598c15e7886"><td class="mdescLeft">&#160;</td><td class="mdescRight">Buffers pending writes to the subprocess.  <a href="#a27ee7762ef1caaf3ec8c3598c15e7886">More...</a><br /></td></tr>
<tr class="separator:a27ee7762ef1caaf3ec8c3598c15e7886"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:ae9e04de9ce779a3c0ad0b7142f7332d7"><td class="memItemLeft" align="right" valign="top"><a id="ae9e04de9ce779a3c0ad0b7142f7332d7"></a>
class&#160;</td><td class="memItemRight" valign="bottom"><b>pkgAcquire</b></td></tr>
<tr class="separator:ae9e04de9ce779a3c0ad0b7142f7332d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a47dfc6f2bc0d50a6e7c92eb00d97b064"><td class="memItemLeft" align="right" valign="top"><a id="a47dfc6f2bc0d50a6e7c92eb00d97b064"></a>
class&#160;</td><td class="memItemRight" valign="bottom"><b>Queue</b></td></tr>
<tr class="separator:a47dfc6f2bc0d50a6e7c92eb00d97b064"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A fetch subprocess. </p>
<p>A worker process is responsible for one stage of the fetch. This class encapsulates the communications protocol between the master process and the worker, from the master end.</p>
<p>Each worker is intrinsically placed on two linked lists. The <a class="el" href="classpkgAcquire_1_1Queue.xhtml" title="A single download queue in a pkgAcquire object. {{{. ">Queue</a> list (maintained in the <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a70b012fdfb38bfe94b52924d45c5462d" title="The next link on the Queue list. ">NextQueue</a> variable) is maintained by the <a class="el" href="classpkgAcquire_1_1Queue.xhtml" title="A single download queue in a pkgAcquire object. {{{. ">pkgAcquire::Queue</a> class; it represents the set of workers assigned to a particular queue. The Acquire list (maintained in the <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a3faf9ec3dc6548bd0ec0f656a91d9b8f" title="The next link on the Acquire list. ">NextAcquire</a> variable) is maintained by the <a class="el" href="classpkgAcquire.xhtml" title="The core download scheduler. {{{. ">pkgAcquire</a> class; it represents the set of active workers for a particular <a class="el" href="classpkgAcquire.xhtml" title="The core download scheduler. {{{. ">pkgAcquire</a> object.</p>
<dl class="todo"><dt><b><a class="el" href="todo.xhtml#_todo000008">Todo:</a></b></dt><dd>Like everything else in the Acquire system, this has way too many protected items.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classpkgAcqMethod.xhtml">pkgAcqMethod</a>, <a class="el" href="classpkgAcquire_1_1Item.xhtml" title="Represents the process by which a pkgAcquire object should retrieve a file or a collection of files...">pkgAcquire::Item</a>, <a class="el" href="classpkgAcquire.xhtml" title="The core download scheduler. {{{. ">pkgAcquire</a> </dd></dl>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="ac0cf8a483d82d1372c6f7d499937860c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac0cf8a483d82d1372c6f7d499937860c">&#9670;&nbsp;</a></span>Worker() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpkgAcquire_1_1Worker.xhtml">Worker</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classpkgAcquire_1_1Queue.xhtml">Queue</a> *&#160;</td>
          <td class="paramname"><em>OwnerQ</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structpkgAcquire_1_1MethodConfig.xhtml">MethodConfig</a> *&#160;</td>
          <td class="paramname"><em>Config</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classpkgAcquireStatus.xhtml">pkgAcquireStatus</a> *&#160;</td>
          <td class="paramname"><em>Log</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create a new <a class="el" href="classpkgAcquire_1_1Worker.xhtml" title="A fetch subprocess. ">Worker</a> to download files. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">OwnerQ</td><td>The queue into which this worker should be placed.</td></tr>
    <tr><td class="paramname">Config</td><td>A location in which to store information about the fetch method.</td></tr>
    <tr><td class="paramname">Log</td><td>The download progress indicator that should be used to report the progress of this worker. </td></tr>
  </table>
  </dd>
</dl>

<p class="reference">References <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a9af72b216eb95e320f0f261d9497c5c1">Construct()</a>.</p>

<p class="reference">Referenced by <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a8b88e4cc12a0a74aad2b80e5313859b3">GetConf()</a>.</p>

</div>
</div>
<a id="ae2af0336261da4341b48814adf215290"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae2af0336261da4341b48814adf215290">&#9670;&nbsp;</a></span>Worker() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpkgAcquire_1_1Worker.xhtml">Worker</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structpkgAcquire_1_1MethodConfig.xhtml">MethodConfig</a> *&#160;</td>
          <td class="paramname"><em>Config</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create a new <a class="el" href="classpkgAcquire_1_1Worker.xhtml" title="A fetch subprocess. ">Worker</a> that should just retrieve information about the fetch method. </p>
<p>Nothing in particular forces you to refrain from actually downloading stuff, but the various status callbacks won't be invoked.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Config</td><td>A location in which to store information about the fetch method. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a6c90b9d499e906079194f681b6cb90ca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6c90b9d499e906079194f681b6cb90ca">&#9670;&nbsp;</a></span>~Worker()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">~<a class="el" href="classpkgAcquire_1_1Worker.xhtml">Worker</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Clean up this worker. </p>
<p>Closes the file descriptors; if <a class="el" href="structpkgAcquire_1_1MethodConfig.xhtml#a18ab15b6a105e10118c35973765cce34" title="If true, the subprocess has to carry out some cleanup actions before shutting down. ">MethodConfig::NeedsCleanup</a> is <b>false</b>, also rudely interrupts the worker with a SIGINT. </p>

<p class="reference">References <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a006a979c4801f6b6ceb33cb3acd6dc89">Access</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a33b828cdf6b336e68c51bb8e068e1297">Config</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a2eb3145b965a64b578db347d1bae648b">InFd</a>, <a class="el" href="structpkgAcquire_1_1MethodConfig.xhtml#a18ab15b6a105e10118c35973765cce34">pkgAcquire::MethodConfig::NeedsCleanup</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#af2679e54f43d436f88045350be6fb2ab">OutFd</a>, and <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a593a34f5ed2b53f33f69c4f17aa836eb">Process</a>.</p>

<p class="reference">Referenced by <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a8b88e4cc12a0a74aad2b80e5313859b3">GetConf()</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="aa3de23b9c5a564121a667dd9b392e158"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa3de23b9c5a564121a667dd9b392e158">&#9670;&nbsp;</a></span>Capabilities()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Capabilities </td>
          <td>(</td>
          <td class="paramtype">std::string&#160;</td>
          <td class="paramname"><em>Message</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Handle a 100 Capabilities response from the subprocess. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Message</td><td>the raw text of the message from the subprocess.</td></tr>
  </table>
  </dd>
</dl>
<p>The message will be parsed and its contents used to fill <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a33b828cdf6b336e68c51bb8e068e1297" title="The configuration of this method. On startup, the target of this pointer is filled in with basic data...">Config</a>. If <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a33b828cdf6b336e68c51bb8e068e1297" title="The configuration of this method. On startup, the target of this pointer is filled in with basic data...">Config</a> is NULL, this routine is a NOP.</p>
<dl class="section return"><dt>Returns</dt><dd><b>true</b>. </dd></dl>

<p class="reference">References <a class="el" href="structpkgAcquire_1_1MethodConfig.xhtml#a006a979c4801f6b6ceb33cb3acd6dc89">pkgAcquire::MethodConfig::Access</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a33b828cdf6b336e68c51bb8e068e1297">Config</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#acdf3472c9b75f32dae88032d42d1cb6c">Debug</a>, <a class="el" href="structpkgAcquire_1_1MethodConfig.xhtml#a8b6e3669e200451d5531db670a0b7be8">pkgAcquire::MethodConfig::LocalOnly</a>, <a class="el" href="structpkgAcquire_1_1MethodConfig.xhtml#a18ab15b6a105e10118c35973765cce34">pkgAcquire::MethodConfig::NeedsCleanup</a>, <a class="el" href="structpkgAcquire_1_1MethodConfig.xhtml#a184f137ba7f14f7867d1480d05645973">pkgAcquire::MethodConfig::Pipeline</a>, <a class="el" href="structpkgAcquire_1_1MethodConfig.xhtml#a871cd013ae63d288941eb4bc3db93ae7">pkgAcquire::MethodConfig::Removable</a>, <a class="el" href="structpkgAcquire_1_1MethodConfig.xhtml#aeb5234a93cf150f464001a2768eb7b27">pkgAcquire::MethodConfig::SendConfig</a>, <a class="el" href="structpkgAcquire_1_1MethodConfig.xhtml#a73e5dd8b9abd83a562ded9c050af4fc5">pkgAcquire::MethodConfig::SingleInstance</a>, and <a class="el" href="structpkgAcquire_1_1MethodConfig.xhtml#a9128f413b7890b2493b88f88fe258259">pkgAcquire::MethodConfig::Version</a>.</p>

<p class="reference">Referenced by <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a26a68d57a249a042c1e32186ce2fce8b">RunMessages()</a>.</p>

</div>
</div>
<a id="a9af72b216eb95e320f0f261d9497c5c1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9af72b216eb95e320f0f261d9497c5c1">&#9670;&nbsp;</a></span>Construct()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Construct </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Common code for the constructor. </p>
<p>Initializes NextQueue and NextAcquire to NULL; Process, InFd, and OutFd to -1, OutReady and InReady to <b>false</b>, and Debug from _config. </p>

<p class="reference">References <a class="el" href="classpkgAcquire_1_1Worker.xhtml#acdf3472c9b75f32dae88032d42d1cb6c">Debug</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a2eb3145b965a64b578db347d1bae648b">InFd</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a849bc65c54e1bcbe8a7f053ce2cec672">InReady</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a3faf9ec3dc6548bd0ec0f656a91d9b8f">NextAcquire</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a70b012fdfb38bfe94b52924d45c5462d">NextQueue</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#af2679e54f43d436f88045350be6fb2ab">OutFd</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a0b8717fb6d062212c251900cee4e6004">OutReady</a>, and <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a593a34f5ed2b53f33f69c4f17aa836eb">Process</a>.</p>

<p class="reference">Referenced by <a class="el" href="classpkgAcquire_1_1Worker.xhtml#ac0cf8a483d82d1372c6f7d499937860c">Worker()</a>.</p>

</div>
</div>
<a id="a8b88e4cc12a0a74aad2b80e5313859b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8b88e4cc12a0a74aad2b80e5313859b3">&#9670;&nbsp;</a></span>GetConf()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="structpkgAcquire_1_1MethodConfig.xhtml">MethodConfig</a>* GetConf </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The fetch method configuration. </dd></dl>

<p class="reference">References <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a33b828cdf6b336e68c51bb8e068e1297">Config</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#ac0cf8a483d82d1372c6f7d499937860c">Worker()</a>, and <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a6c90b9d499e906079194f681b6cb90ca">~Worker()</a>.</p>

<p class="reference">Referenced by <a class="el" href="classpkgAcquire_1_1Queue.xhtml#a0483a6e5db0c15e5445bcc6a00262204">pkgAcquire::Queue::Shutdown()</a>.</p>

</div>
</div>
<a id="a5a3e1a57c0fe730162df8a50677ae513"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5a3e1a57c0fe730162df8a50677ae513">&#9670;&nbsp;</a></span>InFdReady()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool InFdReady </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Read and dispatch any pending messages from the subprocess. </p>
<dl class="section return"><dt>Returns</dt><dd><b>false</b> if the subprocess died unexpectedly while a message was being transmitted. </dd></dl>

<p class="reference">References <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a1f374a34dcd1bd9881717b345118fd49">ReadMessages()</a>, and <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a26a68d57a249a042c1e32186ce2fce8b">RunMessages()</a>.</p>

</div>
</div>
<a id="a6a6deb8c5e68383147e31b24690ea0fd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6a6deb8c5e68383147e31b24690ea0fd">&#9670;&nbsp;</a></span>ItemDone()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ItemDone </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Invoked when a fetch job is completed, either successfully or unsuccessfully. </p>
<p>Resets the status information for the worker process. </p>

<p class="reference">References <a class="el" href="classpkgAcquire_1_1Worker.xhtml#adbe3d9577156a7736f774428835b31e9">CurrentItem</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#af6da844ee8d9f7ae8f59e1821edc7948">CurrentSize</a>, <a class="el" href="classpkgAcquire_1_1Item.xhtml#ab4b5e2afff64c51303682cea9243f098">pkgAcquire::Item::DestFile</a>, <a class="el" href="structpkgAcquire_1_1ItemDesc.xhtml#a991ea711651b5d291202505da64e379c">pkgAcquire::ItemDesc::Owner</a>, <a class="el" href="structpkgAcquire_1_1Queue_1_1QItem.xhtml#af422b890599c59250eb00474ce781d2e">pkgAcquire::Queue::QItem::Owners</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#ae08432c27cb86081cae64bb384b3ac4b">Status</a>, and <a class="el" href="classpkgAcquire_1_1Worker.xhtml#ace18d22dfea021e7f9ae876b1974ccbe">TotalSize</a>.</p>

<p class="reference">Referenced by <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a26a68d57a249a042c1e32186ce2fce8b">RunMessages()</a>.</p>

</div>
</div>
<a id="a5fa3dc5431fbfcd2b5ceed5f97f1eb84"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5fa3dc5431fbfcd2b5ceed5f97f1eb84">&#9670;&nbsp;</a></span>MediaChange()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool MediaChange </td>
          <td>(</td>
          <td class="paramtype">std::string&#160;</td>
          <td class="paramname"><em>Message</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Handle a 403 Media Change message. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Message</td><td>the raw text of the message; the Media field indicates what type of media should be changed, and the Drive field indicates where the media is located.</td></tr>
  </table>
  </dd>
</dl>
<p>Invokes pkgAcquireStatus::MediaChange(Media, Drive) to ask the user to swap disks; informs the subprocess of the result (via 603 Media Changed, with the Failed field set to <b>true</b> if the user cancelled the media change). </p>

<p class="reference">References <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a006a979c4801f6b6ceb33cb3acd6dc89">Access</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#acdf3472c9b75f32dae88032d42d1cb6c">Debug</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#aa7f97da72ceb8761a1cda178c778ca7c">Log</a>, <a class="el" href="classpkgAcquireStatus.xhtml#a61c6f568f6582836223430d117a62e69">pkgAcquireStatus::MediaChange()</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a27ee7762ef1caaf3ec8c3598c15e7886">OutQueue</a>, and <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a0b8717fb6d062212c251900cee4e6004">OutReady</a>.</p>

<p class="reference">Referenced by <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a26a68d57a249a042c1e32186ce2fce8b">RunMessages()</a>.</p>

</div>
</div>
<a id="a94fe52037e4594131495b1791d6654ea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a94fe52037e4594131495b1791d6654ea">&#9670;&nbsp;</a></span>MethodFailure()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool MethodFailure </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Invoked when the worked process dies unexpectedly. </p>
<p>Waits for the subprocess to terminate and generates an error if it terminated abnormally, then closes and blanks out all file descriptors. Discards all pending messages from the subprocess.</p>
<dl class="section return"><dt>Returns</dt><dd><b>false</b>. </dd></dl>

<p class="reference">References <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a006a979c4801f6b6ceb33cb3acd6dc89">Access</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a2eb3145b965a64b578db347d1bae648b">InFd</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a849bc65c54e1bcbe8a7f053ce2cec672">InReady</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#ad4a47a4aae6979a5a870f4fd7953a8d6">MessageQueue</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#af2679e54f43d436f88045350be6fb2ab">OutFd</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a27ee7762ef1caaf3ec8c3598c15e7886">OutQueue</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a0b8717fb6d062212c251900cee4e6004">OutReady</a>, and <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a593a34f5ed2b53f33f69c4f17aa836eb">Process</a>.</p>

<p class="reference">Referenced by <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a2bd3e6488eaf8af11cedae06f7de9e2c">OutFdReady()</a>, and <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a1f374a34dcd1bd9881717b345118fd49">ReadMessages()</a>.</p>

</div>
</div>
<a id="a2bd3e6488eaf8af11cedae06f7de9e2c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2bd3e6488eaf8af11cedae06f7de9e2c">&#9670;&nbsp;</a></span>OutFdReady()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool OutFdReady </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Send any pending commands to the subprocess. </p>
<p>This method will fail if there is no pending output.</p>
<dl class="section return"><dt>Returns</dt><dd><b>true</b> if all commands were succeeded, <b>false</b> if an error occurred (in which case <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a94fe52037e4594131495b1791d6654ea" title="Invoked when the worked process dies unexpectedly. ">MethodFailure()</a> will be invoked). </dd></dl>

<p class="reference">References <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a94fe52037e4594131495b1791d6654ea">MethodFailure()</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#af2679e54f43d436f88045350be6fb2ab">OutFd</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a27ee7762ef1caaf3ec8c3598c15e7886">OutQueue</a>, and <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a0b8717fb6d062212c251900cee4e6004">OutReady</a>.</p>

</div>
</div>
<a id="a37fbf2dea83d49ebf053ecc76c5b39b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a37fbf2dea83d49ebf053ecc76c5b39b3">&#9670;&nbsp;</a></span>QueueItem()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool QueueItem </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structpkgAcquire_1_1Queue_1_1QItem.xhtml">pkgAcquire::Queue::QItem</a> *&#160;</td>
          <td class="paramname"><em>Item</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Tell the subprocess to download the given item. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname"><a class="el" href="classpkgAcquire_1_1Item.xhtml" title="Represents the process by which a pkgAcquire object should retrieve a file or a collection of files...">Item</a></td><td>the item to queue up. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><b>true</b> if the item was successfully enqueued.</dd></dl>
<p>Queues up a 600 <a class="el" href="classURI.xhtml">URI</a> Acquire message for the given item to be sent at the next possible moment. Does <em>not</em> flush the output queue. </p>

<p class="reference">References <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a006a979c4801f6b6ceb33cb3acd6dc89">Access</a>, <a class="el" href="classHashStringList.xhtml#a29305669b60ca1680752e2fc3592ba99">HashStringList::begin()</a>, <a class="el" href="structpkgAcquire_1_1Queue_1_1QItem.xhtml#af75270cda6bae5af763d3d4c921a67ba">pkgAcquire::Queue::QItem::Custom600Headers()</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#acdf3472c9b75f32dae88032d42d1cb6c">Debug</a>, <a class="el" href="classpkgAcquire_1_1Item.xhtml#ab4b5e2afff64c51303682cea9243f098">pkgAcquire::Item::DestFile</a>, <a class="el" href="classHashStringList.xhtml#accf9a4bd0c34d4a5f6a7dab66ea10cdc">HashStringList::end()</a>, <a class="el" href="classHashStringList.xhtml#ad377451a8d52cc254f0097fa634df352">HashStringList::FileSize()</a>, <a class="el" href="structpkgAcquire_1_1Queue_1_1QItem.xhtml#a0ef73fc3255f40dec16e3261b7b3b9a5">pkgAcquire::Queue::QItem::GetExpectedHashes()</a>, <a class="el" href="structpkgAcquire_1_1Queue_1_1QItem.xhtml#a5a428e5f24061994d29cf2e4170aea43">pkgAcquire::Queue::QItem::GetMaximumSize()</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#af2679e54f43d436f88045350be6fb2ab">OutFd</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a27ee7762ef1caaf3ec8c3598c15e7886">OutQueue</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a0b8717fb6d062212c251900cee4e6004">OutReady</a>, <a class="el" href="structpkgAcquire_1_1ItemDesc.xhtml#a991ea711651b5d291202505da64e379c">pkgAcquire::ItemDesc::Owner</a>, <a class="el" href="structpkgAcquire_1_1Queue_1_1QItem.xhtml#a1741360afdb988dbc6e2603efe0088fe">pkgAcquire::Queue::QItem::SyncDestinationFiles()</a>, and <a class="el" href="structpkgAcquire_1_1ItemDesc.xhtml#aaf8eea5037c53d12d3f31ab9e032712c">pkgAcquire::ItemDesc::URI</a>.</p>

<p class="reference">Referenced by <a class="el" href="classpkgAcquire_1_1Queue.xhtml#a5b2dd956b1adc90b13d47e26121d5486">pkgAcquire::Queue::Cycle()</a>.</p>

</div>
</div>
<a id="a1f374a34dcd1bd9881717b345118fd49"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1f374a34dcd1bd9881717b345118fd49">&#9670;&nbsp;</a></span>ReadMessages()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ReadMessages </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Retrieve any available messages from the subprocess. </p>
<p>The messages are retrieved as in <a class="el" href="strutl_8h_source.xhtml">ReadMessages()</a>, and <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a94fe52037e4594131495b1791d6654ea" title="Invoked when the worked process dies unexpectedly. ">MethodFailure()</a> is invoked if an error occurs; in particular, if the pipe to the subprocess dies unexpectedly while a message is being read.</p>
<dl class="section return"><dt>Returns</dt><dd><b>true</b> if the messages were successfully read, <b>false</b> otherwise. </dd></dl>

<p class="reference">References <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a2eb3145b965a64b578db347d1bae648b">InFd</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#ad4a47a4aae6979a5a870f4fd7953a8d6">MessageQueue</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a94fe52037e4594131495b1791d6654ea">MethodFailure()</a>, and <a class="el" href="classpkgAcqTransactionItem.xhtml#a485640aedbea8b648c06cdb378e3aa1f">pkgAcqTransactionItem::TransactionManager</a>.</p>

<p class="reference">Referenced by <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a5a3e1a57c0fe730162df8a50677ae513">InFdReady()</a>, and <a class="el" href="classpkgAcquire_1_1Worker.xhtml#aa70efaa4751ac6d5d54dce88fe725e0a">Start()</a>.</p>

</div>
</div>
<a id="a26a68d57a249a042c1e32186ce2fce8b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a26a68d57a249a042c1e32186ce2fce8b">&#9670;&nbsp;</a></span>RunMessages()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool RunMessages </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Parse and dispatch pending messages. </p>
<p>This dispatches the message in a manner appropriate for its type.</p>
<dl class="todo"><dt><b><a class="el" href="todo.xhtml#_todo000014">Todo:</a></b></dt><dd>Several message types lack separate handlers.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classpkgAcquire_1_1Worker.xhtml#aa3de23b9c5a564121a667dd9b392e158" title="Handle a 100 Capabilities response from the subprocess. ">Capabilities()</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#af79a315ab449f2046389c91e3f114326" title="Send a 601 Configuration message (containing the APT configuration) to the subprocess. ">SendConfiguration()</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a5fa3dc5431fbfcd2b5ceed5f97f1eb84" title="Handle a 403 Media Change message. ">MediaChange()</a> </dd></dl>

<p class="reference">References <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a006a979c4801f6b6ceb33cb3acd6dc89">Access</a>, <a class="el" href="classHashStringList.xhtml#a29305669b60ca1680752e2fc3592ba99">HashStringList::begin()</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#aa3de23b9c5a564121a667dd9b392e158">Capabilities()</a>, <a class="el" href="classpkgAcquire_1_1Item.xhtml#a886f6c17d366793eb6202ba2482372f5">pkgAcquire::Item::Complete</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a33b828cdf6b336e68c51bb8e068e1297">Config</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#adbe3d9577156a7736f774428835b31e9">CurrentItem</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#af6da844ee8d9f7ae8f59e1821edc7948">CurrentSize</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#acdf3472c9b75f32dae88032d42d1cb6c">Debug</a>, <a class="el" href="structpkgAcquire_1_1ItemDesc.xhtml#a72a1a381861908396ddca53a1fa28f97">pkgAcquire::ItemDesc::Description</a>, <a class="el" href="classpkgAcquire_1_1Item.xhtml#ad340ff53c2faad023e3f11627e91c5b6">pkgAcquire::Item::DescURI()</a>, <a class="el" href="classpkgAcquire_1_1Item.xhtml#ab4b5e2afff64c51303682cea9243f098">pkgAcquire::Item::DestFile</a>, <a class="el" href="classpkgAcquireStatus.xhtml#a6043ea862253ac53dd4c6487c242971e">pkgAcquireStatus::Done()</a>, <a class="el" href="classHashStringList.xhtml#a644718bb2fb240de962dc3c9a1fdf0dc">HashStringList::empty()</a>, <a class="el" href="classHashStringList.xhtml#accf9a4bd0c34d4a5f6a7dab66ea10cdc">HashStringList::end()</a>, <a class="el" href="classpkgAcquire.xhtml#adff4865b0b932d7c8dae0aee44006c13">pkgAcquire::Enqueue()</a>, <a class="el" href="classpkgAcquireStatus.xhtml#a5c697905fd152636d1970bbfe7783684">pkgAcquireStatus::Fail()</a>, <a class="el" href="classpkgAcquireStatus.xhtml#a6f115e9a73caa8e6a665228d46625c16">pkgAcquireStatus::Fetch()</a>, <a class="el" href="classpkgAcquireStatus.xhtml#ae1ac138afa29527542590c89dcc065a9">pkgAcquireStatus::Fetched()</a>, <a class="el" href="classHashStringList.xhtml#ad377451a8d52cc254f0097fa634df352">HashStringList::FileSize()</a>, <a class="el" href="classpkgAcquire_1_1Queue.xhtml#ac539c6aecc512845b56ae705f7686a58">pkgAcquire::Queue::FindItem()</a>, <a class="el" href="structpkgAcquire_1_1Queue_1_1QItem.xhtml#a0ef73fc3255f40dec16e3261b7b3b9a5">pkgAcquire::Queue::QItem::GetExpectedHashes()</a>, <a class="el" href="classpkgAcquireStatus.xhtml#a31421608993b5036d3d5aa465a4b7a83">pkgAcquireStatus::IMSHit()</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a6a6deb8c5e68383147e31b24690ea0fd">ItemDone()</a>, <a class="el" href="classpkgAcquire_1_1Queue.xhtml#a6dc41a112e43fd568e47e7a9c682112c">pkgAcquire::Queue::ItemDone()</a>, <a class="el" href="classpkgAcquire_1_1Item.xhtml#a98d3c89be817752144bb35823e365fec">pkgAcquire::Item::Local</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#aa7f97da72ceb8761a1cda178c778ca7c">Log</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a5fa3dc5431fbfcd2b5ceed5f97f1eb84">MediaChange()</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#ad4a47a4aae6979a5a870f4fd7953a8d6">MessageQueue</a>, <a class="el" href="classpkgAcquireStatus.xhtml#a8888d6bbff950b1d8a84124a41bcea77">pkgAcquireStatus::MorePulses</a>, <a class="el" href="structpkgAcquire_1_1ItemDesc.xhtml#a991ea711651b5d291202505da64e379c">pkgAcquire::ItemDesc::Owner</a>, <a class="el" href="classpkgAcquire_1_1Queue.xhtml#a76f8c48f1e7f5669a16a9d5e863edd10">pkgAcquire::Queue::Owner</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a99d906c6fe7507d8452fa4566377d2eb">OwnerQ</a>, <a class="el" href="structpkgAcquire_1_1Queue_1_1QItem.xhtml#af422b890599c59250eb00474ce781d2e">pkgAcquire::Queue::QItem::Owners</a>, <a class="el" href="classpkgAcquireStatus.xhtml#a3b094d1d0cbeadde35a2f09d6e60bf3f">pkgAcquireStatus::Pulse()</a>, <a class="el" href="classHashStringList.xhtml#a7ab0545cb4ff2f208cb2ab14f21d357b">HashStringList::push_back()</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#abd497ee7ec5dec08e88b4658730ecf63">ResumePoint</a>, <a class="el" href="classpkgAcquire_1_1Item.xhtml#abd4abbf0fe1f8b5299675b590315b4b9a19728efb594f55c57218604ad77b25db">pkgAcquire::Item::StatAuthError</a>, <a class="el" href="classpkgAcquire_1_1Item.xhtml#abd4abbf0fe1f8b5299675b590315b4b9aafe4203baf90d29ba26cdca204795329">pkgAcquire::Item::StatIdle</a>, <a class="el" href="classpkgAcquire_1_1Item.xhtml#abd4abbf0fe1f8b5299675b590315b4b9a29a70e77eba9ee9773d3e6ac26348820">pkgAcquire::Item::StatTransientNetworkError</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#ae08432c27cb86081cae64bb384b3ac4b">Status</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#ace18d22dfea021e7f9ae876b1974ccbe">TotalSize</a>, <a class="el" href="structpkgAcquire_1_1ItemDesc.xhtml#aaf8eea5037c53d12d3f31ab9e032712c">pkgAcquire::ItemDesc::URI</a>, and <a class="el" href="classHashStringList.xhtml#a17779e9f4f73e8f7a6c4b6d3d40c62f3">HashStringList::usable()</a>.</p>

<p class="reference">Referenced by <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a5a3e1a57c0fe730162df8a50677ae513">InFdReady()</a>, and <a class="el" href="classpkgAcquire_1_1Worker.xhtml#aa70efaa4751ac6d5d54dce88fe725e0a">Start()</a>.</p>

</div>
</div>
<a id="af79a315ab449f2046389c91e3f114326"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af79a315ab449f2046389c91e3f114326">&#9670;&nbsp;</a></span>SendConfiguration()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool SendConfiguration </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Send a 601 <a class="el" href="classConfiguration.xhtml">Configuration</a> message (containing the APT configuration) to the subprocess. </p>
<p>The APT configuration will be send to the subprocess in a message of the following form:</p>
<pre>
601 <a class="el" href="classConfiguration.xhtml">Configuration</a>
Config-Item: Fully-Qualified-Item=Val
Config-Item: Fully-Qualified-Item=Val
...
</pre><dl class="section return"><dt>Returns</dt><dd><b>true</b> if the command was successfully sent, <b>false</b> otherwise. </dd></dl>

<p class="reference">References <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a006a979c4801f6b6ceb33cb3acd6dc89">Access</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a33b828cdf6b336e68c51bb8e068e1297">Config</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#acdf3472c9b75f32dae88032d42d1cb6c">Debug</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#af2679e54f43d436f88045350be6fb2ab">OutFd</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a27ee7762ef1caaf3ec8c3598c15e7886">OutQueue</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a0b8717fb6d062212c251900cee4e6004">OutReady</a>, and <a class="el" href="structpkgAcquire_1_1MethodConfig.xhtml#aeb5234a93cf150f464001a2768eb7b27">pkgAcquire::MethodConfig::SendConfig</a>.</p>

<p class="reference">Referenced by <a class="el" href="classpkgAcquire_1_1Worker.xhtml#aa70efaa4751ac6d5d54dce88fe725e0a">Start()</a>.</p>

</div>
</div>
<a id="aa70efaa4751ac6d5d54dce88fe725e0a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa70efaa4751ac6d5d54dce88fe725e0a">&#9670;&nbsp;</a></span>Start()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Start </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Start up the worker and fill in <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a33b828cdf6b336e68c51bb8e068e1297" title="The configuration of this method. On startup, the target of this pointer is filled in with basic data...">Config</a>. </p>
<p>Reads the first message from the worker, which is assumed to be a 100 Capabilities message.</p>
<dl class="section return"><dt>Returns</dt><dd><b>true</b> if all operations completed successfully. </dd></dl>

<p class="reference">References <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a006a979c4801f6b6ceb33cb3acd6dc89">Access</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#acdf3472c9b75f32dae88032d42d1cb6c">Debug</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a2eb3145b965a64b578db347d1bae648b">InFd</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a849bc65c54e1bcbe8a7f053ce2cec672">InReady</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#af2679e54f43d436f88045350be6fb2ab">OutFd</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a0b8717fb6d062212c251900cee4e6004">OutReady</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a99d906c6fe7507d8452fa4566377d2eb">OwnerQ</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a593a34f5ed2b53f33f69c4f17aa836eb">Process</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a1f374a34dcd1bd9881717b345118fd49">ReadMessages()</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a26a68d57a249a042c1e32186ce2fce8b">RunMessages()</a>, and <a class="el" href="classpkgAcquire_1_1Worker.xhtml#af79a315ab449f2046389c91e3f114326">SendConfiguration()</a>.</p>

<p class="reference">Referenced by <a class="el" href="classpkgAcquire.xhtml#ad698ed345d50318b53f3cc3ae43190db">pkgAcquire::GetConfig()</a>, and <a class="el" href="classpkgAcquire_1_1Queue.xhtml#ab4442bc1bb880bd798d3c08a153364b8">pkgAcquire::Queue::Startup()</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a006a979c4801f6b6ceb33cb3acd6dc89"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a006a979c4801f6b6ceb33cb3acd6dc89">&#9670;&nbsp;</a></span>Access</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string Access</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>The access method to be used by this worker. </p>
<dl class="todo"><dt><b><a class="el" href="todo.xhtml#_todo000010">Todo:</a></b></dt><dd>Doesn't this duplicate Config-&gt;Access? </dd></dl>

<p class="reference">Referenced by <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a5fa3dc5431fbfcd2b5ceed5f97f1eb84">MediaChange()</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a94fe52037e4594131495b1791d6654ea">MethodFailure()</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a37fbf2dea83d49ebf053ecc76c5b39b3">QueueItem()</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a26a68d57a249a042c1e32186ce2fce8b">RunMessages()</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#af79a315ab449f2046389c91e3f114326">SendConfiguration()</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#aa70efaa4751ac6d5d54dce88fe725e0a">Start()</a>, and <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a6c90b9d499e906079194f681b6cb90ca">~Worker()</a>.</p>

</div>
</div>
<a id="acdf3472c9b75f32dae88032d42d1cb6c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acdf3472c9b75f32dae88032d42d1cb6c">&#9670;&nbsp;</a></span>Debug</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Debug</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>If <b>true</b>, debugging output will be sent to std::clog. </p>

<p class="reference">Referenced by <a class="el" href="classpkgAcquire_1_1Worker.xhtml#aa3de23b9c5a564121a667dd9b392e158">Capabilities()</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a9af72b216eb95e320f0f261d9497c5c1">Construct()</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a5fa3dc5431fbfcd2b5ceed5f97f1eb84">MediaChange()</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a37fbf2dea83d49ebf053ecc76c5b39b3">QueueItem()</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a26a68d57a249a042c1e32186ce2fce8b">RunMessages()</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#af79a315ab449f2046389c91e3f114326">SendConfiguration()</a>, and <a class="el" href="classpkgAcquire_1_1Worker.xhtml#aa70efaa4751ac6d5d54dce88fe725e0a">Start()</a>.</p>

</div>
</div>
<a id="a2eb3145b965a64b578db347d1bae648b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2eb3145b965a64b578db347d1bae648b">&#9670;&nbsp;</a></span>InFd</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int InFd</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>A file descriptor connected to the standard output of the subprocess. </p>
<p>Used to read messages and data from the subprocess. </p>

<p class="reference">Referenced by <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a9af72b216eb95e320f0f261d9497c5c1">Construct()</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a94fe52037e4594131495b1791d6654ea">MethodFailure()</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a1f374a34dcd1bd9881717b345118fd49">ReadMessages()</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#aa70efaa4751ac6d5d54dce88fe725e0a">Start()</a>, and <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a6c90b9d499e906079194f681b6cb90ca">~Worker()</a>.</p>

</div>
</div>
<a id="a849bc65c54e1bcbe8a7f053ce2cec672"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a849bc65c54e1bcbe8a7f053ce2cec672">&#9670;&nbsp;</a></span>InReady</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool InReady</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set to <b>true</b> if the worker is in a state in which it might generate data or command responses. </p>
<dl class="todo"><dt><b><a class="el" href="todo.xhtml#_todo000011">Todo:</a></b></dt><dd>Is this right? It's a guess. </dd></dl>

<p class="reference">Referenced by <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a9af72b216eb95e320f0f261d9497c5c1">Construct()</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a94fe52037e4594131495b1791d6654ea">MethodFailure()</a>, and <a class="el" href="classpkgAcquire_1_1Worker.xhtml#aa70efaa4751ac6d5d54dce88fe725e0a">Start()</a>.</p>

</div>
</div>
<a id="a70b012fdfb38bfe94b52924d45c5462d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a70b012fdfb38bfe94b52924d45c5462d">&#9670;&nbsp;</a></span>NextQueue</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpkgAcquire_1_1Worker.xhtml">Worker</a>* NextQueue</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>The next link on the <a class="el" href="classpkgAcquire_1_1Queue.xhtml" title="A single download queue in a pkgAcquire object. {{{. ">Queue</a> list. </p>
<dl class="todo"><dt><b><a class="el" href="todo.xhtml#_todo000009">Todo:</a></b></dt><dd>This is always NULL; is it just for future use? </dd></dl>

<p class="reference">Referenced by <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a9af72b216eb95e320f0f261d9497c5c1">Construct()</a>, and <a class="el" href="classpkgAcquire_1_1Queue.xhtml#a0483a6e5db0c15e5445bcc6a00262204">pkgAcquire::Queue::Shutdown()</a>.</p>

</div>
</div>
<a id="af2679e54f43d436f88045350be6fb2ab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af2679e54f43d436f88045350be6fb2ab">&#9670;&nbsp;</a></span>OutFd</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int OutFd</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>A file descriptor connected to the standard input of the subprocess. </p>
<p>Used to send commands and configuration data to the subprocess. </p>

<p class="reference">Referenced by <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a9af72b216eb95e320f0f261d9497c5c1">Construct()</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a94fe52037e4594131495b1791d6654ea">MethodFailure()</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a2bd3e6488eaf8af11cedae06f7de9e2c">OutFdReady()</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a37fbf2dea83d49ebf053ecc76c5b39b3">QueueItem()</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#af79a315ab449f2046389c91e3f114326">SendConfiguration()</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#aa70efaa4751ac6d5d54dce88fe725e0a">Start()</a>, and <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a6c90b9d499e906079194f681b6cb90ca">~Worker()</a>.</p>

</div>
</div>
<a id="a27ee7762ef1caaf3ec8c3598c15e7886"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a27ee7762ef1caaf3ec8c3598c15e7886">&#9670;&nbsp;</a></span>OutQueue</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string OutQueue</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Buffers pending writes to the subprocess. </p>
<dl class="todo"><dt><b><a class="el" href="todo.xhtml#_todo000013">Todo:</a></b></dt><dd>Wouldn't a std::dequeue be more appropriate? </dd></dl>

<p class="reference">Referenced by <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a5fa3dc5431fbfcd2b5ceed5f97f1eb84">MediaChange()</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a94fe52037e4594131495b1791d6654ea">MethodFailure()</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a2bd3e6488eaf8af11cedae06f7de9e2c">OutFdReady()</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a37fbf2dea83d49ebf053ecc76c5b39b3">QueueItem()</a>, and <a class="el" href="classpkgAcquire_1_1Worker.xhtml#af79a315ab449f2046389c91e3f114326">SendConfiguration()</a>.</p>

</div>
</div>
<a id="a0b8717fb6d062212c251900cee4e6004"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0b8717fb6d062212c251900cee4e6004">&#9670;&nbsp;</a></span>OutReady</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool OutReady</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set to <b>true</b> if the worker is in a state in which it is legal to send commands to it. </p>
<dl class="todo"><dt><b><a class="el" href="todo.xhtml#_todo000012">Todo:</a></b></dt><dd>Is this right? </dd></dl>

<p class="reference">Referenced by <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a9af72b216eb95e320f0f261d9497c5c1">Construct()</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a5fa3dc5431fbfcd2b5ceed5f97f1eb84">MediaChange()</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a94fe52037e4594131495b1791d6654ea">MethodFailure()</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a2bd3e6488eaf8af11cedae06f7de9e2c">OutFdReady()</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#a37fbf2dea83d49ebf053ecc76c5b39b3">QueueItem()</a>, <a class="el" href="classpkgAcquire_1_1Worker.xhtml#af79a315ab449f2046389c91e3f114326">SendConfiguration()</a>, and <a class="el" href="classpkgAcquire_1_1Worker.xhtml#aa70efaa4751ac6d5d54dce88fe725e0a">Start()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>apt-pkg/<a class="el" href="acquire-worker_8h_source.xhtml">acquire-worker.h</a></li>
<li>apt-pkg/acquire-worker.cc</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>