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
| Return | Name | Description |
|---|---|---|
void * | sender | Optional context pointer identifying the sender. |
uint64_t | current | Bytes transferred so far. |
uint64_t | total | Total expected bytes (from Content-Length). |
sender
void * senderOptional context pointer identifying the sender.
current
uint64_t currentBytes transferred so far.
total
uint64_t totalTotal expected bytes (from Content-Length).
Public Methods
| Return | Name | Description |
|---|---|---|
ProgressSignal inline | ||
double | progress const inline | Returns the current transfer progress as a percentage (0-100). |
void | update inline | Advances the progress counter by nread bytes and emits the updated percentage. |
ProgressSignal
inline
inline ProgressSignal()progress
const inline
inline double progress() constReturns 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
nreadNumber of bytes just transferred.
Exceptions
std::runtime_errorif current would exceed total.
