@ -46,18 +46,34 @@ static void NetworkIOMeter_updateValues(ATTR_UNUSED Meter* this, char* buffer, i
return ;
}
cached_rxb_diff = ( bytesReceived - cached_rxb_total ) / 1024 ; /* Meter_humanUnit() expects unit in kilo */
cached_rxb_diff = 1000.0 * cached_rxb_diff / passedTimeInMs ; /* convert to per second */
if ( bytesReceived > cached_rxb_total ) {
cached_rxb_diff = ( bytesReceived - cached_rxb_total ) / 1024 ; /* Meter_humanUnit() expects unit in kilo */
cached_rxb_diff = 1000.0 * cached_rxb_diff / passedTimeInMs ; /* convert to per second */
} else {
cached_rxb_diff = 0 ;
}
cached_rxb_total = bytesReceived ;
cached_rxp_diff = packetsReceived - cached_rxp_total ;
if ( packetsReceived > cached_rxp_total ) {
cached_rxp_diff = packetsReceived - cached_rxp_total ;
} else {
cached_rxp_diff = 0 ;
}
cached_rxp_total = packetsReceived ;
cached_txb_diff = ( bytesTransmitted - cached_txb_total ) / 1024 ; /* Meter_humanUnit() expects unit in kilo */
cached_txb_diff = 1000.0 * cached_txb_diff / passedTimeInMs ; /* convert to per second */
if ( bytesTransmitted > cached_txb_total ) {
cached_txb_diff = ( bytesTransmitted - cached_txb_total ) / 1024 ; /* Meter_humanUnit() expects unit in kilo */
cached_txb_diff = 1000.0 * cached_txb_diff / passedTimeInMs ; /* convert to per second */
} else {
cached_txb_diff = 0 ;
}
cached_txb_total = bytesTransmitted ;
cached_txp_diff = packetsTransmitted - cached_txp_total ;
if ( packetsTransmitted > cached_txp_total ) {
cached_txp_diff = packetsTransmitted - cached_txp_total ;
} else {
cached_txp_diff = 0 ;
}
cached_txp_total = packetsTransmitted ;
}