Class NetworkConnectionHelper
java.lang.Object
com.biglybt.core.networkmanager.NetworkConnectionHelper
- All Implemented Interfaces:
ControllerAllocationManagement, NetworkConnectionBase
- Direct Known Subclasses:
NetworkConnectionImpl, PeerForeignNetworkConnection
public abstract class NetworkConnectionHelper
extends Object
implements NetworkConnectionBase, ControllerAllocationManagement
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final AtomicIntegerprivate final AtomicInteger(package private) intprivate final LimitedRateGroupprivate LimitedRateGroup[]private longprivate longprivate static final AtomicIntegerprivate final intprivate final AtomicIntegerprivate intprivate int(package private) intprivate final LimitedRateGroupprivate LimitedRateGroup[]private final AtomicIntegerFields inherited from interface ControllerAllocationManagement
UNALLOCATED_PARTITION -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidactiveReadControllerRelease(boolean added) voidactiveWriteControllerRelease(boolean added) voidaddRateLimiter(LimitedRateGroup limiter, boolean upload) abstract voidintintgetRateLimiters(boolean upload) intbooleanisReadControllerActive(int partition) booleanisWriteControllerActive(int partition) voidremoveRateLimiter(LimitedRateGroup limiter, boolean upload) voidsetDownloadLimit(int limit) voidvoidsetTargetReadControllerPartition(int partition) voidsetTargetWriteControllerPartition(int partition) voidsetUploadLimit(int limit) voidMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface NetworkConnectionBase
getEndpoint, getIncomingMessageQueue, getMssSize, getOutgoingMessageQueue, getString, getTransportBase, isClosed, isIncoming, isLANLocal, notifyOfException, resetLANLocalStatus
-
Field Details
-
next_partition_id
-
partition_id
private final int partition_id -
upload_limit
int upload_limit -
upload_limiter
-
download_limit
int download_limit -
download_limiter
-
upload_limiters
-
download_limiters
-
read_release_count
-
target_read_partition
private volatile int target_read_partition -
active_read_partition
-
last_read_stall
private long last_read_stall -
write_release_count
-
target_write_partition
private volatile int target_write_partition -
active_write_partition
-
last_write_stall
private long last_write_stall
-
-
Constructor Details
-
NetworkConnectionHelper
public NetworkConnectionHelper()
-
-
Method Details
-
getPartitionID
public int getPartitionID()- Specified by:
getPartitionIDin interfaceNetworkConnectionBase
-
close
-
getUploadLimit
public int getUploadLimit()- Specified by:
getUploadLimitin interfaceNetworkConnectionBase
-
getDownloadLimit
public int getDownloadLimit()- Specified by:
getDownloadLimitin interfaceNetworkConnectionBase
-
setUploadLimit
public void setUploadLimit(int limit) - Specified by:
setUploadLimitin interfaceNetworkConnectionBase
-
setDownloadLimit
public void setDownloadLimit(int limit) - Specified by:
setDownloadLimitin interfaceNetworkConnectionBase
-
addRateLimiter
- Specified by:
addRateLimiterin interfaceNetworkConnectionBase
-
removeRateLimiter
- Specified by:
removeRateLimiterin interfaceNetworkConnectionBase
-
getRateLimiters
- Specified by:
getRateLimitersin interfaceNetworkConnectionBase
-
setTargetReadControllerPartition
public void setTargetReadControllerPartition(int partition) - Specified by:
setTargetReadControllerPartitionin interfaceControllerAllocationManagement
-
setReadControllerInactive
public void setReadControllerInactive()- Specified by:
setReadControllerInactivein interfaceControllerAllocationManagement
-
activeReadControllerRelease
public void activeReadControllerRelease(boolean added) - Specified by:
activeReadControllerReleasein interfaceControllerAllocationManagement
-
isReadControllerActive
public boolean isReadControllerActive(int partition) - Specified by:
isReadControllerActivein interfaceControllerAllocationManagement
-
setTargetWriteControllerPartition
public void setTargetWriteControllerPartition(int partition) - Specified by:
setTargetWriteControllerPartitionin interfaceControllerAllocationManagement
-
setWriteControllerInactive
public void setWriteControllerInactive()- Specified by:
setWriteControllerInactivein interfaceControllerAllocationManagement
-
activeWriteControllerRelease
public void activeWriteControllerRelease(boolean added) - Specified by:
activeWriteControllerReleasein interfaceControllerAllocationManagement
-
isWriteControllerActive
public boolean isWriteControllerActive(int partition) - Specified by:
isWriteControllerActivein interfaceControllerAllocationManagement
-