Class SinglePeerDownloader
- java.lang.Object
-
- com.biglybt.core.networkmanager.impl.SinglePeerDownloader
-
- All Implemented Interfaces:
RateControlledEntity
public class SinglePeerDownloader extends java.lang.Object implements RateControlledEntity
A fast read entity backed by a single peer connection.
-
-
Field Summary
Fields Modifier and Type Field Description private NetworkConnectionBase
connection
private RateHandler
rate_handler
-
Fields inherited from interface com.biglybt.core.networkmanager.impl.RateControlledEntity
PRIORITY_HIGH, PRIORITY_NORMAL
-
-
Constructor Summary
Constructors Constructor Description SinglePeerDownloader(NetworkConnectionBase connection, RateHandler rate_handler)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
canProcess(EventWaiter waiter)
Is ready for a processing op.int
doProcessing(EventWaiter waiter, int max_bytes)
Attempt to do a processing operation.long
getBytesReadyToWrite()
int
getConnectionCount(EventWaiter waiter)
If there are no connections then the waiter will be kicked when a connection arrivesint
getPriority()
Get this entity's priority level.boolean
getPriorityBoost()
stats functionsRateHandler
getRateHandler()
int
getReadyConnectionCount(EventWaiter waiter)
The waiter is kicked if the ready condition changesjava.lang.String
getString()
-
-
-
Field Detail
-
connection
private final NetworkConnectionBase connection
-
rate_handler
private final RateHandler rate_handler
-
-
Constructor Detail
-
SinglePeerDownloader
public SinglePeerDownloader(NetworkConnectionBase connection, RateHandler rate_handler)
-
-
Method Detail
-
getRateHandler
public RateHandler getRateHandler()
- Specified by:
getRateHandler
in interfaceRateControlledEntity
-
canProcess
public boolean canProcess(EventWaiter waiter)
Description copied from interface:RateControlledEntity
Is ready for a processing op.- Specified by:
canProcess
in interfaceRateControlledEntity
- Returns:
- true if it can process >0 bytes, false if not ready
-
doProcessing
public int doProcessing(EventWaiter waiter, int max_bytes)
Description copied from interface:RateControlledEntity
Attempt to do a processing operation.- Specified by:
doProcessing
in interfaceRateControlledEntity
- Returns:
- true if >0 bytes were processed (success), false if 0 bytes were processed (failure)
-
getPriority
public int getPriority()
Description copied from interface:RateControlledEntity
Get this entity's priority level.- Specified by:
getPriority
in interfaceRateControlledEntity
- Returns:
- priority
-
getPriorityBoost
public boolean getPriorityBoost()
Description copied from interface:RateControlledEntity
stats functions- Specified by:
getPriorityBoost
in interfaceRateControlledEntity
- Returns:
-
getBytesReadyToWrite
public long getBytesReadyToWrite()
- Specified by:
getBytesReadyToWrite
in interfaceRateControlledEntity
-
getConnectionCount
public int getConnectionCount(EventWaiter waiter)
Description copied from interface:RateControlledEntity
If there are no connections then the waiter will be kicked when a connection arrives- Specified by:
getConnectionCount
in interfaceRateControlledEntity
- Returns:
-
getReadyConnectionCount
public int getReadyConnectionCount(EventWaiter waiter)
Description copied from interface:RateControlledEntity
The waiter is kicked if the ready condition changes- Specified by:
getReadyConnectionCount
in interfaceRateControlledEntity
- Returns:
-
getString
public java.lang.String getString()
- Specified by:
getString
in interfaceRateControlledEntity
-
-