diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2024-09-09 08:38:13 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2024-09-09 08:38:13 (GMT) |
commit | e3ce461fec70fd638b415edef4ce3aa9d939d772 (patch) | |
tree | b6e40f94525b7a66cd80cca7ea6c2ca999322df5 /src/core | |
parent | cd583c040d6730d24fdbf4558bd6fdff98303c5b (diff) |
Collect the quantity of data received or sent with cURL.
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/global.c | 56 | ||||
-rw-r--r-- | src/core/global.h | 6 |
2 files changed, 62 insertions, 0 deletions
diff --git a/src/core/global.c b/src/core/global.c index 83d8f4a..d38656b 100644 --- a/src/core/global.c +++ b/src/core/global.c @@ -28,10 +28,66 @@ +/* Décompte des émissions et réceptions */ +static GMutex _network_mutex; +static size_t _bytes_received = 0; +static size_t _bytes_sent = 0; + /* Gestionnaire de tâches parallèles */ static GWorkQueue *_queue = NULL; + +/****************************************************************************** +* * +* Paramètres : received = quantité d'octets reçus jusqu'à présent. [OUT] * +* sent = quantité d'octets émis jusqu'à présent. [OUT] * +* * +* Description : Fournit les volumes d'octets échangés sur le réseau. * +* * +* Retour : - * +* * +* Remarques : - * +* * +******************************************************************************/ + +void get_network_stats(size_t *received, size_t *sent) +{ + g_mutex_lock(&_network_mutex); + + *received = _bytes_received; + *sent = _bytes_sent; + + g_mutex_unlock(&_network_mutex); + +} + + +/****************************************************************************** +* * +* Paramètres : received = quantité d'octets reçus supplémentaire. * +* sent = quantité d'octets émis supplémentaire. * +* * +* Description : Augmente les volumes d'octets échangés sur le réseau. * +* * +* Retour : - * +* * +* Remarques : - * +* * +******************************************************************************/ + +void update_network_stats(size_t received, size_t sent) +{ + g_mutex_lock(&_network_mutex); + + _bytes_received += received; + _bytes_sent += sent; + + g_mutex_unlock(&_network_mutex); + +} + + /****************************************************************************** * * * Paramètres : queue = nouveau gestionnaire à mémoriser ou NULL. * diff --git a/src/core/global.h b/src/core/global.h index 61b7712..b861ad8 100644 --- a/src/core/global.h +++ b/src/core/global.h @@ -29,6 +29,12 @@ +/* Fournit les volumes d'octets échangés sur le réseau. */ +void get_network_stats(size_t *, size_t *); + +/* Augmente les volumes d'octets échangés sur le réseau. */ +void update_network_stats(size_t, size_t); + /* Définit le gestionnaire de traitements parallèles courant. */ void set_work_queue(/* __steal */GWorkQueue *); |