|
apt 3.0.3
commandline package manager
|
An item that is responsible for fetching client-merge patches {{{ that need to be applied to a given package index file. More...
#include <apt-pkg/acquire-item.h>
Public Member Functions | |
| void | Failed (std::string const &Message, pkgAcquire::MethodConfig const *Cnf) override |
| Called when the patch file failed to be downloaded. | |
| void | Done (std::string const &Message, HashStringList const &Hashes, pkgAcquire::MethodConfig const *Cnf) override |
| std::string | Custom600Headers () const override |
| std::string | DescURI () const override |
| HashStringList | GetExpectedHashes () const override |
| bool | HashesRequired () const override |
| bool | AcquireByHash () const override |
| pkgAcqIndexMergeDiffs (pkgAcquire *const Owner, pkgAcqMetaClearSig *const TransactionManager, IndexTarget const &Target, DiffInfo const &patch, std::vector< pkgAcqIndexMergeDiffs * > const *const allPatches) APT_NONNULL(2 | |
| Create an index merge-diff item. | |
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 | |
| virtual bool | TransactionState (TransactionStates const state) |
| std::string | DescURI () const override |
| HashStringList | GetExpectedHashes () const override |
| virtual std::string | GetMetaKey () const |
| bool | HashesRequired () const override |
| pkgAcqTransactionItem (pkgAcquire *const Owner, pkgAcqMetaClearSig *const TransactionManager, IndexTarget const &Target) APT_NONNULL(2 | |
Protected Types | |
| enum | DiffState { StateFetchDiff , StateApplyDiff , StateDoneDiff , StateErrorDiff } |
Protected Attributes | |
| bool | Debug |
| If true, debugging output will be written to std::clog. | |
| struct DiffInfo const | patch |
| information about the current patch | |
| std::vector< pkgAcqIndexMergeDiffs * > const *const | allPatches |
| list of all download items for the patches | |
| enum pkgAcqIndexMergeDiffs::DiffState | State |
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 Member Functions inherited from pkgAcqTransactionItem | |
| HashStringList | GetExpectedHashesFor (std::string const &MetaKey) const |
| bool | QueueURI (pkgAcquire::ItemDesc &Item) override |
An item that is responsible for fetching client-merge patches {{{ that need to be applied to a given package index file.
Instead of downloading and applying each patch one by one like its sister pkgAcqIndexDiffs this class will download all patches at once and call rred with all the patches downloaded once. Rred will then merge and apply them in one go, which should be a lot faster – but is incompatible with server-based merges of patches like reprepro can do.
|
protected |
| pkgAcqIndexMergeDiffs | ( | pkgAcquire *const | Owner, |
| pkgAcqMetaClearSig *const | TransactionManager, | ||
| IndexTarget const & | Target, | ||
| DiffInfo const & | patch, | ||
| std::vector< pkgAcqIndexMergeDiffs * > const *const | allPatches | ||
| ) |
Create an index merge-diff item.
| Owner | The pkgAcquire object that owns this item. |
| TransactionManager | responsible for this item |
| Target | we intend to built via pdiff patching |
| baseURI | is the URI used for the Index, but stripped down to Target |
| DiffInfo | of the patch in question |
| patch | contains infos about the patch this item is supposed to download which were read from the index |
| allPatches | contains all related items so that each item can check if it was the last one to complete the download step |
References Debug, IndexTarget::Description, DiffInfo::file, patch, IndexTarget::ShortDesc, and IndexTarget::URI.
|
overridevirtual |
Reimplemented from pkgAcqTransactionItem.
|
override |
Called when the patch file failed to be downloaded.
This method will fall back to downloading the whole index file outright; its arguments are ignored.
References allPatches, Debug, StateDoneDiff, StateErrorDiff, pkgAcqTransactionItem::TransactionManager, and IndexTarget::URI.