Class SpeedTokenDispenserPrioritised
- java.lang.Object
-
- com.biglybt.core.peermanager.control.impl.SpeedTokenDispenserPrioritised
-
- All Implemented Interfaces:
SpeedTokenDispenser
public class SpeedTokenDispenserPrioritised extends java.lang.Object implements SpeedTokenDispenser
-
-
Field Summary
Fields Modifier and Type Field Description private long
bucket
private static int
BUCKET_RESPONSE_TIME
private static int
BUCKET_THRESHOLD_FACTOR
private static int
BUCKET_THRESHOLD_LOWER_BOUND
private long
currentTime
private long
lastTime
private int
rateKiB
private long
threshold
-
Constructor Summary
Constructors Constructor Description SpeedTokenDispenserPrioritised()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
dispense(int numberOfChunks, int chunkSize)
int
peek(int chunkSize)
void
refill()
void
returnUnusedChunks(int unused, int chunkSize)
void
update(long newTime)
-
-
-
Field Detail
-
rateKiB
private int rateKiB
-
threshold
private long threshold
-
bucket
private long bucket
-
lastTime
private long lastTime
-
currentTime
private long currentTime
-
BUCKET_THRESHOLD_LOWER_BOUND
private static final int BUCKET_THRESHOLD_LOWER_BOUND
- See Also:
- Constant Field Values
-
BUCKET_RESPONSE_TIME
private static final int BUCKET_RESPONSE_TIME
- See Also:
- Constant Field Values
-
BUCKET_THRESHOLD_FACTOR
private static final int BUCKET_THRESHOLD_FACTOR
- See Also:
- Constant Field Values
-
-
Method Detail
-
update
public void update(long newTime)
-
refill
public void refill()
-
dispense
public int dispense(int numberOfChunks, int chunkSize)
- Specified by:
dispense
in interfaceSpeedTokenDispenser
-
returnUnusedChunks
public void returnUnusedChunks(int unused, int chunkSize)
- Specified by:
returnUnusedChunks
in interfaceSpeedTokenDispenser
-
peek
public int peek(int chunkSize)
- Specified by:
peek
in interfaceSpeedTokenDispenser
-
-