Class ReadController
java.lang.Object
com.biglybt.core.networkmanager.impl.ReadController
- All Implemented Interfaces:
CoreStatsProvider
,AEDiagnosticsEvidenceGenerator
public class ReadController
extends Object
implements CoreStatsProvider, AEDiagnosticsEvidenceGenerator
Processes reads of read-entities and handles the read selector.
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) static boolean
private final AEMonitor
private long
private int
(package private) ArrayList
<RateControlledEntity> (package private) static int
private long
private long
private int
private int
private long
(package private) ArrayList
<RateControlledEntity> private long
private final EventWaiter
private long
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addReadEntity
(RateControlledEntity entity) Add the given entity to the controller for read processing.private boolean
private boolean
private boolean
doRead
(RateControlledEntity ready_entity) void
generate
(IndentWriter writer) int
private RateControlledEntity
private RateControlledEntity
private boolean
(package private) void
boolean
removeReadEntity
(RateControlledEntity entity) Remove the given entity from the controller.void
updateStats
(Set types, Map values)
-
Field Details
-
IDLE_SLEEP_TIME
static int IDLE_SLEEP_TIME -
AGGRESIVE_READ
static boolean AGGRESIVE_READ -
normal_priority_entities
-
high_priority_entities
-
entities_mon
-
next_normal_position
private int next_normal_position -
next_high_position
private int next_high_position -
loop_count
private long loop_count -
wait_count
private long wait_count -
non_progress_count
private long non_progress_count -
progress_count
private long progress_count -
entity_check_count
private long entity_check_count -
last_entity_check_count
private long last_entity_check_count -
read_waiter
-
entity_count
private int entity_count
-
-
Constructor Details
-
ReadController
public ReadController()
-
-
Method Details
-
generate
- Specified by:
generate
in interfaceAEDiagnosticsEvidenceGenerator
-
updateStats
- Specified by:
updateStats
in interfaceCoreStatsProvider
-
readProcessorLoop
void readProcessorLoop() -
hasConnections
private boolean hasConnections() -
doNormalPriorityRead
private boolean doNormalPriorityRead() -
doHighPriorityRead
private boolean doHighPriorityRead() -
doRead
-
getNextReadyNormalPriorityEntity
-
getNextReadyHighPriorityEntity
-
addReadEntity
Add the given entity to the controller for read processing.- Parameters:
entity
- to process reads for
-
removeReadEntity
Remove the given entity from the controller.- Parameters:
entity
- to remove from read processing
-
getEntityCount
public int getEntityCount()
-