An item that is responsible for fetching a package file. More...
#include <acquire-item.h>
Public Types | |
enum | ItemState { StatIdle, StatFetching, StatDone, StatError, StatAuthError, StatTransientNetworkError } |
The current status of this item. More... | |
Public Member Functions | |
pkgAcqArchive (pkgAcquire *Owner, pkgSourceList *Sources, pkgRecords *Recs, pkgCache::VerIterator const &Version, std::string &StoreFilename) | |
Create a new pkgAcqArchive. More... | |
void | AddWeakPointer (WeakPointable **weakptr) |
Add a new weak pointer. More... | |
virtual std::string | Custom600Headers () |
Custom headers to be sent to the fetch process. More... | |
virtual std::string | DescURI () |
A "descriptive" URI-like string. More... | |
virtual void | Done (std::string Message, unsigned long long Size, std::string Hash, pkgAcquire::MethodConfig *Cnf) |
Invoked by the acquire worker when the object was fetched successfully. More... | |
virtual void | Failed (std::string Message, pkgAcquire::MethodConfig *Cnf) |
Invoked by the acquire worker when the object couldn't be fetched. More... | |
virtual void | Finished () |
Invoked by the worker when the download is completely done. More... | |
pkgAcquire * | GetOwner () |
virtual std::string | HashSum () |
HashSum. More... | |
virtual bool | IsTrusted () |
void | RemoveWeakPointer (WeakPointable **weakptr) |
Remove the weak pointer from the list of weak pointers. More... | |
void | ReportMirrorFailure (std::string FailCode) |
Report mirror problem. More... | |
virtual std::string | ShortDesc () |
Short item description. More... | |
virtual void | Start (std::string Message, unsigned long long Size) |
Invoked when the worker starts to fetch this object. More... | |
Public Attributes | |
bool | Complete |
If true, the entire object has been successfully fetched. More... | |
std::string | DestFile |
The name of the file into which the retrieved object will be written. More... | |
std::string | ErrorText |
Contains a textual description of the error encountered if Status is StatError or StatAuthError. More... | |
unsigned long long | FileSize |
The size of the object to fetch. More... | |
unsigned long | ID |
A client-supplied unique identifier. More... | |
bool | Local |
If true, the URI of this object is "local". More... | |
const char * | Mode |
If not NULL, contains the name of a subprocess that is operating on this object (for instance, "gzip" or "gpgv"). More... | |
unsigned long long | PartialSize |
How much of the object was already fetched. More... | |
unsigned int | QueueCounter |
The number of fetch queues into which this item has been inserted. More... | |
enum pkgAcquire::Item::ItemState | Status |
std::string | UsedMirror |
Protected Member Functions | |
void | Dequeue () |
Remove this item from its owner's queue. More... | |
bool | QueueNext () |
Queue up the next available file for this version. More... | |
void | QueueURI (ItemDesc &Item) |
Insert this item into its owner's queue. More... | |
void | Rename (std::string From, std::string To) |
Rename a file without modifying its timestamp. More... | |
Protected Attributes | |
pkgAcquire::ItemDesc | Desc |
The fetch command that is currently being processed. More... | |
HashString | ExpectedHash |
The hashsum of this package. More... | |
pkgAcquire * | Owner |
The acquire object with which this item is associated. More... | |
pkgRecords * | Recs |
A package records object, used to look up the file corresponding to each version of the package. More... | |
unsigned int | Retries |
How many (more) times to try to find a new source from which to download this package version if it fails. More... | |
pkgSourceList * | Sources |
The list of sources from which to pick archives to download this package from. More... | |
std::string & | StoreFilename |
A location in which the actual filename of the package should be stored. More... | |
bool | Trusted |
true if this version file is being downloaded from a trusted source. More... | |
pkgCache::VerIterator | Version |
The package version being fetched. More... | |
pkgCache::VerFileIterator | Vf |
The next file for this version to try to download. More... | |
An item that is responsible for fetching a package file.
{{{
If the package file already exists in the cache, nothing will be done.
|
inherited |
The current status of this item.
pkgAcqArchive::pkgAcqArchive | ( | pkgAcquire * | Owner, |
pkgSourceList * | Sources, | ||
pkgRecords * | Recs, | ||
pkgCache::VerIterator const & | Version, | ||
std::string & | StoreFilename | ||
) |
Create a new pkgAcqArchive.
Owner | The pkgAcquire object with which this item is associated. |
Sources | The sources from which to download version files. |
Recs | A package records object, used to look up the file corresponding to each version of the package. |
Version | The package version to download. |
StoreFilename | A location in which the actual filename of the package should be stored. It will be set to a guessed basename in the constructor, and filled in with a fully qualified filename once the download finishes. |
|
inlineinherited |
Add a new weak pointer.
References WeakPointable::pointers.
|
inlinevirtualinherited |
Custom headers to be sent to the fetch process.
Reimplemented in pkgAcqFile, pkgAcqMetaClearSig, pkgAcqMetaIndex, pkgAcqMetaSig, pkgAcqIndexTrans, pkgAcqIndex, pkgAcqDiffIndex, and pkgAcqSubIndex.
|
inlineprotectedinherited |
Remove this item from its owner's queue.
References pkgAcquire::Dequeue(), and pkgAcquire::Item::Owner.
|
inlinevirtual |
A "descriptive" URI-like string.
Implements pkgAcquire::Item.
References Desc, and pkgAcquire::ItemDesc::URI.
|
virtual |
Invoked by the acquire worker when the object was fetched successfully.
Note that the object might not have been written to DestFile; check for the presence of an Alt-Filename entry in Message to find the file to which it was really written.
Done is often used to switch from one stage of the processing to the next (e.g. fetching, unpacking, copying). It is one branch of the continuation of the fetch process.
Message | Data from the acquire method. Use LookupTag() to parse it. |
Size | The size of the object that was fetched. |
Hash | The HashSum of the object that was fetched. |
Cnf | The method via which the object was fetched. |
Reimplemented from pkgAcquire::Item.
|
virtual |
Invoked by the acquire worker when the object couldn't be fetched.
This is a branch of the continuation of the fetch process.
Message | An RFC822-formatted message from the acquire method describing what went wrong. Use LookupTag() to parse it. |
Cnf | The method via which the worker tried to fetch this object. |
Reimplemented from pkgAcquire::Item.
|
virtual |
Invoked by the worker when the download is completely done.
Reimplemented from pkgAcquire::Item.
|
inlineinherited |
References pkgAcquire::Item::Owner.
|
inlinevirtual |
HashSum.
Reimplemented from pkgAcquire::Item.
References ExpectedHash, and HashString::toStr().
|
virtual |
Reimplemented from pkgAcquire::Item.
|
protected |
Queue up the next available file for this version.
|
inlineprotectedinherited |
Insert this item into its owner's queue.
References pkgAcquire::Enqueue(), and pkgAcquire::Item::Owner.
|
inlineinherited |
Remove the weak pointer from the list of weak pointers.
References WeakPointable::pointers.
|
protectedinherited |
Rename a file without modifying its timestamp.
Many item methods call this as their final action.
From | The file to be renamed. |
To | The new name of #From. If #To exists it will be overwritten. |
|
inherited |
Report mirror problem.
This allows reporting mirror failures back to a centralized server. The apt-report-mirror-failure script is called for this
FailCode | A short failure string that is send |
|
inlinevirtual |
Short item description.
Reimplemented from pkgAcquire::Item.
References Desc, and pkgAcquire::ItemDesc::ShortDesc.
|
virtualinherited |
Invoked when the worker starts to fetch this object.
Message | RFC822-formatted data from the worker process. Use LookupTag() to parse it. |
Size | The size of the object being fetched. |
|
inherited |
If true, the entire object has been successfully fetched.
Subclasses should set this to true when appropriate.
|
protected |
The fetch command that is currently being processed.
Referenced by DescURI(), and ShortDesc().
|
inherited |
The name of the file into which the retrieved object will be written.
|
inherited |
Contains a textual description of the error encountered if Status is StatError or StatAuthError.
|
protected |
The hashsum of this package.
Referenced by HashSum().
|
inherited |
The size of the object to fetch.
|
inherited |
A client-supplied unique identifier.
This field is initalized to 0; it is meant to be filled in by clients that wish to use it to uniquely identify items.
|
inherited |
If true, the URI of this object is "local".
The only effect of this field is to exclude the object from the download progress indicator's overall statistics.
|
inherited |
If not NULL, contains the name of a subprocess that is operating on this object (for instance, "gzip" or "gpgv").
|
protectedinherited |
The acquire object with which this item is associated.
Referenced by pkgAcquire::Item::Dequeue(), pkgAcquire::Item::GetOwner(), and pkgAcquire::Item::QueueURI().
|
inherited |
How much of the object was already fetched.
|
inherited |
The number of fetch queues into which this item has been inserted.
There is one queue for each source from which an item could be downloaded.
|
protected |
A package records object, used to look up the file corresponding to each version of the package.
|
protected |
How many (more) times to try to find a new source from which to download this package version if it fails.
Set from Acquire::Retries.
|
protected |
The list of sources from which to pick archives to download this package from.
|
inherited |
|
protected |
A location in which the actual filename of the package should be stored.
|
protected |
true if this version file is being downloaded from a trusted source.
|
inherited |
|
protected |
The package version being fetched.
|
protected |
The next file for this version to try to download.