apt 3.0.3
commandline package manager
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
pkgAcqDiffIndex Class Referencefinal

An item that is responsible for fetching an index file of {{{ package list diffs and starting the package list's download. More...

#include <apt-pkg/acquire-item.h>

Inheritance diagram for pkgAcqDiffIndex:
[legend]
Collaboration diagram for pkgAcqDiffIndex:
[legend]

Public Member Functions

void Failed (std::string const &Message, pkgAcquire::MethodConfig const *Cnf) override
 
bool VerifyDone (std::string const &Message, pkgAcquire::MethodConfig const *Cnf) override
 
void Done (std::string const &Message, HashStringList const &Hashes, pkgAcquire::MethodConfig const *Cnf) override
 
std::string DescURI () const override
 
std::string GetMetaKey () const override
 
bool ParseDiffIndex (std::string const &IndexDiffFile)
 Parse the Index file for a set of Packages diffs.
 
 pkgAcqDiffIndex (pkgAcquire *const Owner, pkgAcqMetaClearSig *const TransactionManager, IndexTarget const &Target) APT_NONNULL(2
 Create a new pkgAcqDiffIndex.
 
- Public Member Functions inherited from pkgAcqIndex
void Failed (std::string const &Message, pkgAcquire::MethodConfig const *Cnf) override
 
void Done (std::string const &Message, HashStringList const &Hashes, pkgAcquire::MethodConfig const *Cnf) override
 
std::string Custom600Headers () const override
 
std::string DescURI () const override
 
std::string GetMetaKey () const override
 
 pkgAcqIndex (pkgAcquire *const Owner, pkgAcqMetaClearSig *const TransactionManager, IndexTarget const &Target, bool const Derived=false) APT_NONNULL(2
 
- Public Member Functions inherited from pkgAcqBaseIndex
std::string GetFinalFilename () const override
 Get the full pathname of the final file for the current URI.
 
void Failed (std::string const &Message, pkgAcquire::MethodConfig const *Cnf) override
 
 pkgAcqBaseIndex (pkgAcquire *const Owner, pkgAcqMetaClearSig *const TransactionManager, IndexTarget const &Target) APT_NONNULL(2
 
- Public Member Functions inherited from pkgAcqTransactionItem
std::string DescURI () const override
 
HashStringList GetExpectedHashes () const override
 
bool HashesRequired () const override
 
virtual bool AcquireByHash () const
 
 pkgAcqTransactionItem (pkgAcquire *const Owner, pkgAcqMetaClearSig *const TransactionManager, IndexTarget const &Target) APT_NONNULL(2
 

Protected Member Functions

std::string GetFinalFilename () const override
 Get the full pathname of the final file for the current URI.
 
bool QueueURI (pkgAcquire::ItemDesc &Item) override
 
bool TransactionState (TransactionStates state) override
 
- Protected Member Functions inherited from pkgAcqIndex
void StageDownloadDone (std::string const &Message)
 Handle what needs to be done when the download is done.
 
void StageDecompressDone ()
 Handle what needs to be done when the decompression/copy is done.
 
void InitByHashIfNeeded ()
 Do the changes needed to fetch via AptByHash (if needed)
 
std::string GetFinalFilename () const override
 Get the full pathname of the final file for the current URI.
 
bool TransactionState (TransactionStates state) override
 
APT_HIDDEN void Init (std::string const &URI, std::string const &URIDesc, std::string const &ShortDesc)
 
APT_HIDDEN bool CommonFailed (std::string const &TargetURI, std::string const &Message, pkgAcquire::MethodConfig const *const Cnf)
 
- Protected Member Functions inherited from pkgAcqTransactionItem
HashStringList GetExpectedHashesFor (std::string const &MetaKey) const
 
bool QueueURI (pkgAcquire::ItemDesc &Item) override
 

Protected Attributes

bool Debug
 If true, debugging information will be written to std::clog.
 
- Protected Attributes inherited from pkgAcqIndex
AllStages Stage
 
std::string EraseFileName
 If set, this partially downloaded file will be removed when the download completes.
 
std::string CompressionExtensions
 The compression-related file extensions that are being added to the downloaded file one by one if first fails (e.g., "gz bz2").
 
std::string CurrentCompressionExtension
 The actual compression extension currently used.
 

Additional Inherited Members

- Public Types inherited from pkgAcqTransactionItem
enum  TransactionStates { TransactionStarted , TransactionCommit , TransactionAbort }
 
- Public Attributes inherited from pkgAcqTransactionItem
IndexTarget const Target
 
std::string PartialFile
 storge name until a transaction is finished
 
pkgAcqMetaClearSig *const TransactionManager
 TransactionManager.
 
- Protected Types inherited from pkgAcqIndex
enum  AllStages { STAGE_DOWNLOAD , STAGE_DECOMPRESS_AND_VERIFY }
 The stages the method goes through. More...
 

Detailed Description

An item that is responsible for fetching an index file of {{{ package list diffs and starting the package list's download.

This item downloads the Index file and parses it, then enqueues additional downloads of either the individual patches (using pkgAcqIndexDiffs) or the entire Packages file (using pkgAcqIndex).

See also
pkgAcqIndexDiffs, pkgAcqIndex

Constructor & Destructor Documentation

◆ pkgAcqDiffIndex()

pkgAcqDiffIndex ( pkgAcquire *const  Owner,
pkgAcqMetaClearSig *const  TransactionManager,
IndexTarget const &  Target 
)

Create a new pkgAcqDiffIndex.

Parameters
OwnerThe Acquire object that owns this item.
URIThe URI of the list file to download.
URIDescA long description of the list file to download.
ShortDescA short description of the list file to download.
Todo:
Magic number as an upper bound on pdiffs we will reasonably acquire

References pkgAcqIndex::CompressionExtensions, Debug, IndexTarget::Description, and IndexTarget::ShortDesc.

Member Function Documentation

◆ GetMetaKey()

std::string GetMetaKey ( ) const
overridevirtual

Reimplemented from pkgAcqTransactionItem.

◆ ParseDiffIndex()

bool ParseDiffIndex ( std::string const &  IndexDiffFile)

Parse the Index file for a set of Packages diffs.

Parses the Index file and creates additional download items as necessary.

Parameters
IndexDiffFileThe name of the Index file.
Returns
true if the Index file was successfully parsed, false otherwise.
Todo:
all of pdiff supports only .gz compressed patches

References Debug, DiffInfo::file, HashStringList::FileSize(), HashStringList::find(), IndexTarget::MetaKey, pkgAcqTransactionItem::PartialFile, HashStringList::push_back(), DiffInfo::result_hashes, pkgAcqTransactionItem::TransactionManager, IndexTarget::URI, and HashStringList::usable().

◆ TransactionState()

bool TransactionState ( TransactionStates  state)
overrideprotectedvirtual

Reimplemented from pkgAcqTransactionItem.


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