KLALB V3.4

This commit is contained in:
Administrator
2025-11-15 11:08:16 +08:00
parent 306bfd36f7
commit 8842566ee2
160 changed files with 18540 additions and 4512 deletions
+8 -6
View File
@@ -11,7 +11,7 @@ public class SpeedLimiter {
return hitlimit;
}
private volatile long limitspeed=1024*1024;
private long brustTime=1000000L;
private long brustTime=2000000L;
private volatile boolean hitlimit=false;
public long getLimitspeed() {
return limitspeed;
@@ -43,7 +43,8 @@ public class SpeedLimiter {
private AtomicLong waitingtime=new AtomicLong();
@Override
public String toString() {
return "SpeedLimiter [limitspeed=" + limitspeed + "]";
return "SpeedLimiter [limitspeed=" + limitspeed + ", brustTime=" + brustTime + ", hitlimit=" + hitlimit
+ ", ltime=" + ltime + ", waitingtime=" + waitingtime + "]";
}
public void forceTransmit(long datasize) {
long limitspeedx=limitspeed;
@@ -60,7 +61,7 @@ public class SpeedLimiter {
}
});
waitingtime.addAndGet(datasize*1000000000L/limitspeedx);
waitingtime.addAndGet((long) (datasize*1000000000.0/limitspeedx));
}
}
//用系统计时器的时刻相减得到经过的时间,与数据包除以限速值得到的应消耗的时间做对比,若时间还未到达发送下一个数据包的时机,则返回false
@@ -83,17 +84,18 @@ public class SpeedLimiter {
});
if(nv<=brustTime) {
waitingtime.addAndGet(datasize*1000000000L/limitspeedx);
//System.out.println(limitspeed);
return true;
}else {
return false;
}
}
public void transmit(long datasize) {
long limitspeedx=limitspeed;
while(!checkTransmit(datasize)) {
LockSupport.parkNanos(100000);
//LockSupport.parkNanos(100000);
Thread.yield();
}
waitingtime.addAndGet((long) (datasize*1000000000.0/limitspeedx));
}
}