Beispiel #1
0
void
SystemInfo::_RetrieveNetwork()
{
	if (fRetrievedNetwork)
		return;

	fBytesReceived = 0;
	fBytesSent = 0;
	fRetrievedNetwork = true;

	BNetworkRoster& roster = BNetworkRoster::Default();

	BNetworkInterface interface;
	uint32 cookie = 0;
	while (roster.GetNextInterface(&cookie, interface) == B_OK) {
		ifreq_stats stats;
		if (interface.GetStats(stats) == B_OK) {
			fBytesReceived += stats.receive.bytes;
			fBytesSent += stats.send.bytes;
		}
	}
}