libzypp 17.36.6
commitpackagepreloader_p.h
Go to the documentation of this file.
1/*---------------------------------------------------------------------\
2| ____ _ __ __ ___ |
3| |__ / \ / / . \ . \ |
4| / / \ V /| _/ _/ |
5| / /__ | | | | | | |
6| /_____||_| |_| |_| |
7| |
8\---------------------------------------------------------------------*/
9
10#ifndef ZYPP_TARGET_PRIVATE_COMMITPACKAGEPRELOADER_H
11#define ZYPP_TARGET_PRIVATE_COMMITPACKAGEPRELOADER_H
12
13#include <zypp-core/Pathname.h>
18#include <zypp/ZYppCallbacks.h>
19
20#include <map>
21#include <deque>
22
23namespace zyppng {
24ZYPP_FWD_DECL_TYPE_WITH_REFS(NetworkRequestDispatcher);
26}
27
28namespace zypp {
29
31{
32public:
34
35 void preloadTransaction( const std::vector<sat::Transaction::Step> &steps );
36 void cleanupCaches();
37 bool missed() const;
38
39private:
40 class PreloadWorker;
41 struct RepoUrl {
44 int refs = 0; //< how many workers operate on the mirror
45 int miss = 0; //< how many times this mirror had files misses
46 };
47
49 std::vector<RepoUrl> _baseUrls;
50 };
51
52 void reportBytesDownloaded ( ByteCount newBytes );
53
54 std::map<Repository::IdType, RepoDownloadData> _dlRepoInfo;
55 std::deque<PoolItem> _requiredDls;
56 std::vector<zyppng::Ref<PreloadWorker>> _workers;
59 bool _missedDownloads = false;
60
63
64 zyppng::NetworkRequestDispatcherRef _dispatcher;
65};
66
67}
68
69#endif // ZYPP_TARGET_PRIVATE_COMMITPACKAGEPRELOADER_H
Store and operate with byte count.
Definition ByteCount.h:32
callback::SendReport< media::CommitPreloadReport > _report
zyppng::Ref< internal::ProgressTracker > _pTracker
std::map< Repository::IdType, RepoDownloadData > _dlRepoInfo
std::vector< zyppng::Ref< PreloadWorker > > _workers
void reportBytesDownloaded(ByteCount newBytes)
void preloadTransaction(const std::vector< sat::Transaction::Step > &steps)
zyppng::NetworkRequestDispatcherRef _dispatcher
Url manipulation class.
Definition Url.h:93
std::multimap< std::string, std::string > HeaderList
Easy-to use interface to the ZYPP dependency resolver.
std::shared_ptr< T > Ref
Definition zyppglobal.h:110
media::UrlResolverPlugin::HeaderList headers
#define ZYPP_FWD_DECL_TYPE_WITH_REFS(T)
Definition zyppglobal.h:126