libzypp 17.31.23
internal::OptionalDownloadProgressReport Struct Reference

Bottleneck filtering all DownloadProgressReport issued from Media[Muli]Curl. More...

Inheritance diagram for internal::OptionalDownloadProgressReport:

Public Types

using TimePoint = std::chrono::steady_clock::time_point
 
- Public Types inherited from zypp::callback::ReceiveReport< media::DownloadProgressReport >
typedef media::DownloadProgressReport ReportType
 
typedef ReceiveReport< media::DownloadProgressReportReceiver
 
typedef DistributeReport< media::DownloadProgressReportDistributor
 
- Public Types inherited from zypp::media::DownloadProgressReport
enum  Action { ABORT , RETRY , IGNORE }
 
enum  Error {
  NO_ERROR , NOT_FOUND , IO , ACCESS_DENIED ,
  ERROR
}
 
- Public Types inherited from zypp::callback::ReportBase
typedef callback::UserData UserData
 
typedef UserData::ContentType ContentType
 

Public Member Functions

 OptionalDownloadProgressReport (bool isOptional=false)
 
 ~OptionalDownloadProgressReport ()
 
void reportbegin () override
 
void reportend () override
 
void report (const UserData &userData_r=UserData()) override
 The most generic way of sending/receiving data.
 
void start (const Url &file_r, Pathname localfile_r) override
 
bool progress (int value_r, const Url &file_r, double dbps_avg_r=-1, double dbps_current_r=-1) override
 Download progress.
 
Action problem (const Url &file_r, Error error_r, const std::string &description_r) override
 
void finish (const Url &file_r, Error error_r, const std::string &reason_r) override
 
- Public Member Functions inherited from zypp::callback::ReceiveReport< media::DownloadProgressReport >
virtual ~ReceiveReport ()
 
ReceiveReportwhoIsConnected () const
 
bool connected () const
 
void connect ()
 
void disconnect ()
 
virtual void reportbegin ()
 
virtual void reportend ()
 
- Public Member Functions inherited from zypp::media::DownloadProgressReport
virtual void start (const Url &, Pathname)
 
virtual bool progress (int, const Url &, double dbps_avg=-1, double dbps_current=-1)
 Download progress.
 
virtual Action problem (const Url &, Error, const std::string &)
 
virtual void finish (const Url &, Error, const std::string &)
 
- Public Member Functions inherited from zypp::callback::ReportBase
virtual void report (const UserData &userData_r=UserData())
 The most generic way of sending/receiving data.
 
virtual ~ReportBase ()
 

Private Member Functions

bool notStarted () const
 
void sendStart ()
 

Private Attributes

Receiver *const _oldRec
 
bool _isOptional
 
Url _startFile
 
Pathname _startLocalfile
 
TimePoint _lastProgressSent
 

Detailed Description

Bottleneck filtering all DownloadProgressReport issued from Media[Muli]Curl.

  • Optional files will send no report until data are actually received (we know it exists).
  • Control the progress report frequency passed along to the application.

Definition at line 49 of file MediaCurl.cc.

Member Typedef Documentation

◆ TimePoint

using internal::OptionalDownloadProgressReport::TimePoint = std::chrono::steady_clock::time_point

Definition at line 51 of file MediaCurl.cc.

Constructor & Destructor Documentation

◆ OptionalDownloadProgressReport()

internal::OptionalDownloadProgressReport::OptionalDownloadProgressReport ( bool  isOptional = false)
inline

Definition at line 53 of file MediaCurl.cc.

◆ ~OptionalDownloadProgressReport()

internal::OptionalDownloadProgressReport::~OptionalDownloadProgressReport ( )
inline

Definition at line 58 of file MediaCurl.cc.

Member Function Documentation

◆ reportbegin()

void internal::OptionalDownloadProgressReport::reportbegin ( )
inlineoverridevirtual

Reimplemented from zypp::callback::ReceiveReport< media::DownloadProgressReport >.

Definition at line 61 of file MediaCurl.cc.

◆ reportend()

void internal::OptionalDownloadProgressReport::reportend ( )
inlineoverridevirtual

Reimplemented from zypp::callback::ReceiveReport< media::DownloadProgressReport >.

Definition at line 64 of file MediaCurl.cc.

◆ report()

void internal::OptionalDownloadProgressReport::report ( const UserData userData_r = UserData())
inlineoverridevirtual

The most generic way of sending/receiving data.

Reimplemented from zypp::callback::ReportBase.

Definition at line 67 of file MediaCurl.cc.

◆ start()

void internal::OptionalDownloadProgressReport::start ( const Url file_r,
Pathname  localfile_r 
)
inlineoverride

Definition at line 71 of file MediaCurl.cc.

◆ progress()

bool internal::OptionalDownloadProgressReport::progress ( int  ,
const Url ,
double  dbps_avg = -1,
double  dbps_current = -1 
)
inlineoverridevirtual

Download progress.

Parameters
valuePercentage value.
fileFile URI.
dbps_avgAverage download rate so far. -1 if unknown.
dbps_currentCurrent download (cca last 1 sec). -1 if unknown.

Reimplemented from zypp::media::DownloadProgressReport.

Definition at line 83 of file MediaCurl.cc.

◆ problem()

Action internal::OptionalDownloadProgressReport::problem ( const Url file_r,
Error  error_r,
const std::string &  description_r 
)
inlineoverridevirtual

Reimplemented from zypp::media::DownloadProgressReport.

Definition at line 102 of file MediaCurl.cc.

◆ finish()

void internal::OptionalDownloadProgressReport::finish ( const Url file_r,
Error  error_r,
const std::string &  reason_r 
)
inlineoverridevirtual

Reimplemented from zypp::media::DownloadProgressReport.

Definition at line 108 of file MediaCurl.cc.

◆ notStarted()

bool internal::OptionalDownloadProgressReport::notStarted ( ) const
inlineprivate

Definition at line 116 of file MediaCurl.cc.

◆ sendStart()

void internal::OptionalDownloadProgressReport::sendStart ( )
inlineprivate

Definition at line 119 of file MediaCurl.cc.

Member Data Documentation

◆ _oldRec

Receiver* const internal::OptionalDownloadProgressReport::_oldRec
private

Definition at line 129 of file MediaCurl.cc.

◆ _isOptional

bool internal::OptionalDownloadProgressReport::_isOptional
private

Definition at line 130 of file MediaCurl.cc.

◆ _startFile

Url internal::OptionalDownloadProgressReport::_startFile
private

Definition at line 131 of file MediaCurl.cc.

◆ _startLocalfile

Pathname internal::OptionalDownloadProgressReport::_startLocalfile
private

Definition at line 132 of file MediaCurl.cc.

◆ _lastProgressSent

TimePoint internal::OptionalDownloadProgressReport::_lastProgressSent
private

Definition at line 133 of file MediaCurl.cc.


The documentation for this struct was generated from the following file: