123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- /*
- * netspeed.cpp
- *
- * Created on: 2021年12月11日
- * Author: Admin
- */
- #include "netspeed.h"
- #include "utils/TimeHelper.h"
- #include "utils/Log.h"
- #include <system/Mutex.h>
- static Mutex sLock;
- netspeed::netspeed() {
- // TODO 自动生成的构造函数存根
- upSpeed = 0;
- downloadB = 0;
- uploadB = 0;
- loadSpeed = 0;
- lastTick =TimeHelper::getCurrentTime();
- }
- netspeed::~netspeed() {
- // TODO 自动生成的析构函数存根
- }
- void netspeed::getSpeed(int& up, int& down) {
- Mutex::Autolock l(sLock);
- long cur = TimeHelper::getCurrentTime();
- long dt = cur - lastTick;
- if((dt) >= 1000){
- //dt = dt;
- upSpeed = uploadB*1000/dt;
- loadSpeed = downloadB*1000/dt;
- uploadB =0;
- downloadB = 0;
- lastTick = cur;
- //LOGD("loadSpeed:%d downloadB:%d \n",upSpeed,loadSpeed);
- }
- up = upSpeed;
- down = loadSpeed;
- }
- void netspeed::add(int upload, int download) {
- Mutex::Autolock l(sLock);
- uploadB += upload;
- downloadB += download;
- }
- netspeed* netspeed::getInstance() {
- static netspeed* insta = 0;
- if(insta == 0){
- insta = new netspeed();
- }
- return insta;
- }
|