HTTP module

ProgressSignal

HTTP progress signal for upload and download progress notifications.

ProgressSignal

#include <icy/http/connection.h>

Inherits: Signal< void(const double &)>

HTTP progress signal for upload and download progress notifications.

Emits a double in the range [0, 100] as data is transferred. Set total to the expected byte count before calling [update()](#update-5).

Public Attributes

ReturnNameDescription
void *senderOptional context pointer identifying the sender.
uint64_tcurrentBytes transferred so far.
uint64_ttotalTotal expected bytes (from Content-Length).

sender

void * sender

Optional context pointer identifying the sender.


current

uint64_t current

Bytes transferred so far.


total

uint64_t total

Total expected bytes (from Content-Length).

Public Methods

ReturnNameDescription
ProgressSignal inline
doubleprogress const inlineReturns the current transfer progress as a percentage (0-100).
voidupdate inlineAdvances the progress counter by nread bytes and emits the updated percentage.

ProgressSignal

inline

inline ProgressSignal()

progress

const inline

inline double progress() const

Returns the current transfer progress as a percentage (0-100).


update

inline

inline void update(int nread)

Advances the progress counter by nread bytes and emits the updated percentage.

Parameters

  • nread Number of bytes just transferred.

Exceptions

  • std::runtime_error if current would exceed total.