14#ifndef ZYPP_CURL_NG_NETWORK_PRIVATE_DOWNLOADERSTATES_RANGEDOWNLOADER_P_H_INCLUDED
15#define ZYPP_CURL_NG_NETWORK_PRIVATE_DOWNLOADERSTATES_RANGEDOWNLOADER_P_H_INCLUDED
19#include <zypp-core/zyppng/base/statemachine.h>
82 bool addBlockRanges( std::shared_ptr<Request> req, std::vector<Block> &&blocks )
const;
83 void addNewRequest (std::shared_ptr<Request> req,
const bool connectSignals =
true );
86 std::vector<Block>
getNextBlocks (
const std::string &urlScheme );
Store and operate with byte count.
std::pair< std::vector< Url >::const_iterator, MirrorHandle > MirrorPick
The NetworkRequestError class Represents a error that occured in.
std::vector< Url > _fileMirrors
NetworkRequestError _error
Signal< void() > _sigFinished
off_t _downloadedMultiByteCount
std::vector< Block > getNextBlocks(const std::string &urlScheme)
zypp::ByteCount _preferredChunkSize
virtual void setFinished()
void onRequestProgress(NetworkRequest &, off_t, off_t, off_t, off_t)
void failedToPrepare() override
std::list< Block > _ranges
bool addBlockRanges(std::shared_ptr< Request > req, std::vector< Block > &&blocks) const
Just initialize the requests ranges from the internal blocklist.
void onRequestFinished(NetworkRequest &req, const NetworkRequestError &err)
void onRequestStarted(NetworkRequest &)
void handleRequestError(std::shared_ptr< Request > req, const zyppng::NetworkRequestError &err)
Signal< void() > _sigFailed
std::vector< std::shared_ptr< Request > > _runningRequests
bool assertExpectedFilesize(off_t currentFilesize)
std::vector< Block > getNextFailedBlocks(const std::string &urlScheme)
std::list< Block > _failedRanges
const NetworkRequestError & error() const
bool _inEnsureDownloadsRunning
static zypp::ByteCount makeBlksize(size_t filesize)
void mirrorReceived(MirrorControl::MirrorPick mirror) override
void cancelAll(const NetworkRequestError &err)
void addNewRequest(std::shared_ptr< Request > req, const bool connectSignals=true)
void setFailed(NetworkRequestError &&err)
void ensureDownloadsRunning()
RangeDownloaderBaseState(std::vector< Url > &&mirrors, DownloadPrivate &parent)