Package com.biglybt.core.peermanager
Class PeerManager.PeerManagerRegistrationImpl.ProbeControl
- java.lang.Object
-
- com.biglybt.core.peermanager.PeerManager.PeerManagerRegistrationImpl.ProbeControl
-
- All Implemented Interfaces:
PEPeerControl
,PEPeerManager
- Enclosing class:
- PeerManager.PeerManagerRegistrationImpl
private class PeerManager.PeerManagerRegistrationImpl.ProbeControl extends java.lang.Object implements PEPeerControl
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.biglybt.core.peer.PEPeerManager
PEPeerManager.StatsReceiver
-
-
Field Summary
Fields Modifier and Type Field Description private LimitedRateGroup
download_limited_rate_group
private LimitedRateGroup
upload_limited_rate_group
-
Fields inherited from interface com.biglybt.core.peer.impl.PEPeerControl
SNUB_MILLIS
-
-
Constructor Summary
Constructors Modifier Constructor Description private
ProbeControl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addListener(PEPeerManagerListener l)
void
addPeer(PEPeer peer)
void
addPeer(java.lang.String ip_address, int tcp_port, int udp_port, boolean use_crypto, java.util.Map user_data)
Add a new peer, using the default internal PEPeer implementation (like for peers given in announce reply), using the given address and port.void
addPeerTransport(PEPeerTransport transport)
void
addPiece(PEPiece piece, int pieceNumber, PEPeer for_peer)
void
addRateLimiter(LimitedRateGroup group, boolean upload)
void
badPieceReported(PEPeerTransport originator, int piece_number)
boolean
canToggleSuperSeedMode()
void
checkSnubbing(PEPeerTransport peer)
DiskManagerReadRequest
createDiskManagerRequest(int pieceNumber, int offset, int length)
PeerExchangerItem
createPeerExchangeConnection(PEPeerTransport base_peer)
Register a peer connection for peer exchange handling.PEPeerStats
createPeerStats(PEPeer owner)
void
dataBytesReceived(PEPeer peer, int l)
Data bytes received.void
dataBytesSent(PEPeer peer, int l)
Data bytes sent.void
decNbPeersSnubbed()
void
discarded(PEPeer peer, int l)
boolean
doOptimisticDisconnect(boolean pending_lan_local_peer, boolean force, java.lang.String network)
void
generateEvidence(IndentWriter writer)
PEPeerManagerAdapter
getAdapter()
int[]
getAvailability()
int
getAvailability(int pieceNumber)
long
getAvailWentBadTime()
int
getAverageCompletionInThousandNotation()
Get the average completion percentage of connected peers.float
getAvgAvail()
int
getBytesQueuedForUpload()
long
getBytesUnavailable()
java.lang.String
getConnectHealth(boolean verbose)
int
getConnectTimeout(int ct_def)
java.lang.Object
getData(java.lang.String key)
To retreive arbitrary objects against this object.DiskManager
getDiskManager()
java.lang.String
getDisplayName()
LimitedRateGroup
getDownloadLimitedRateGroup()
Get the limited rate group used for download limiting.int
getDownloadRateLimitBytesPerSecond()
int
getEffectiveUploadRateLimitBytesPerSecond()
java.lang.String
getElapsedTime()
long
getETA(boolean smoothed)
int
getExtendedMessagingMode()
byte[]
getHash()
PEPeerControlHashHandler
getHashHandler()
long
getHiddenBytes()
int
getHiddenPiece()
long
getLastRemoteConnectionTime()
int
getMaxCompletionInThousandNotation(boolean never_include_seeds)
Max completion of connected peers (doesn't factor in our completion)int[]
getMaxConnections()
int
getMaxNewConnectionsAllowed(java.lang.String network)
float
getMinAvailability()
float
getMinAvailability(int file_index)
PEPeer
getMyPeer()
int
getNbActivePieces()
int
getNbPeers()
int
getNbPeersSnubbed()
int
getNbPeersStalledPendingLoad()
int
getNbPeersUnchoked()
int
getNbPeersUnchoking()
int
getNbPeersWithUploadBlocked()
int
getNbPeersWithUploadQueued()
int
getNbPieces()
int
getNbRemoteTCPConnections()
int
getNbRemoteUDPConnections()
int
getNbRemoteUTPConnections()
int
getNbSeeds()
int
getPartitionID()
byte[]
getPeerId()
PeerIdentityDataID
getPeerIdentityDataID()
java.util.List<PEPeer>
getPeers()
java.util.List<PEPeer>
getPeers(java.lang.String address)
int
getPendingPeerCount()
PeerDescriptor[]
getPendingPeers()
PeerDescriptor[]
getPendingPeers(java.lang.String address)
PEPiece
getPiece(int pieceNumber)
int
getPieceLength(int pieceNumber)
PiecePicker
getPiecePicker()
PEPiece[]
getPieces()
Often better to use getPiece(pieceNumber)boolean
getPreferUDP()
long
getRemaining()
byte[][]
getSecrets(int crypto_level)
PEPeerManagerStats
getStats()
byte[]
getTargetHash()
Get torrent hash including any overridesint
getTCPListeningPortNumber()
long
getTimeStarted(boolean mono_time)
long
getTimeStartedSeeding(boolean mono_time)
int
getTorrentInfoDictSize()
TrackerPeerSource
getTrackerPeerSource()
PEPeerTransport
getTransportFromAddress(java.lang.String peer)
Locate an existing transport via [IP] Address.PEPeerTransport
getTransportFromIdentity(byte[] peer_id)
Locate an existing transport via peer id byte identity.int
getUID()
LimitedRateGroup
getUploadLimitedRateGroup()
Get the limited rate group used for upload limiting.int
getUploadPriority()
int
getUploadRateLimitBytesPerSecond()
boolean
hasDownloadablePiece()
boolean
hasPotentialConnections()
void
havePiece(int pieceNumber, int pieceLength, PEPeer pcOrigin)
void
incNbPeersSnubbed()
void
informFullyConnected(PEPeer peer)
boolean
isDestroyed()
boolean
isFastExtensionPermitted(PEPeerTransport originator)
boolean
isInEndGameMode()
Are we in end-game mode?boolean
isMetadataDownload()
boolean
isNetworkEnabled(java.lang.String network)
boolean
isPeerExchangeEnabled()
boolean
isPeerSourceEnabled(java.lang.String peer_source)
boolean
isPrivateTorrent()
boolean
isRTA()
boolean
isSeeding()
boolean
isSuperSeedMode()
boolean
isWritten(int piece_number, int offset)
private void
log()
boolean
needsMD5CheckOnCompletion(int pieceNumber)
void
peerAdded(PEPeer pc)
void
peerConnectionClosed(PEPeerTransport peer, boolean connect_failed, boolean network_failed)
Notify the manager that the given peer connection has been closed.void
peerDiscovered(PEPeerTransport finder, PeerItem pi)
void
peerDiscovered(java.lang.String peer_source, java.lang.String ip_address, int tcp_port, int udp_port, boolean use_crypto)
void
peerRemoved(PEPeer pc)
void
peerVerifiedAsSelf(PEPeerTransport self)
Notify that the given peer connection represents our own client.void
processTrackerResponse(TRTrackerAnnouncerResponse response)
void
protocolBytesReceived(PEPeer peer, int length)
Protocol bytes received.void
protocolBytesSent(PEPeer peer, int length)
Protocol bytes sent.void
removeAllPeers(java.lang.String reason)
void
removeListener(PEPeerManagerListener l)
void
removePeer(PEPeer peer)
void
removePeer(PEPeer peer, java.lang.String reason)
void
removeRateLimiter(LimitedRateGroup group, boolean upload)
void
reportBadFastExtensionUse(PEPeerTransport originator)
void
requestCanceled(DiskManagerReadRequest item)
boolean
requestExists(java.lang.String peer_ip, int piece_number, int offset, int length)
boolean
seedPieceRecheck()
void
setData(java.lang.String key, java.lang.Object value)
To store arbitrary objects against this object.void
setNbPeersSnubbed(int n)
void
setPreferUDP(boolean prefer)
void
setStatsReceiver(PEPeerManager.StatsReceiver receiver)
void
setSuperSeedMode(boolean on)
void
setTorrentInfoDictSize(int size)
void
start()
void
statsReply(PEPeerTransport originator, java.util.Map reply)
void
statsRequest(PEPeerTransport originator, java.util.Map request)
void
stopAll()
void
updateSuperSeedPiece(PEPeer peer, int pieceNumber)
boolean
validateHintRequest(PEPeerTransport originator, int pieceNumber, int offset, int length)
boolean
validatePieceReply(PEPeerTransport originator, int pieceNumber, int offset, DirectByteBuffer data)
boolean
validateReadRequest(PEPeerTransport originator, int pieceNumber, int offset, int length)
void
writeBlock(int pieceNumber, int offset, DirectByteBuffer data, java.lang.Object sender, boolean cancel)
-
-
-
Field Detail
-
upload_limited_rate_group
private final LimitedRateGroup upload_limited_rate_group
-
download_limited_rate_group
private final LimitedRateGroup download_limited_rate_group
-
-
Method Detail
-
getUID
public int getUID()
- Specified by:
getUID
in interfacePEPeerManager
-
getDiskManager
public DiskManager getDiskManager()
- Specified by:
getDiskManager
in interfacePEPeerManager
-
getPiecePicker
public PiecePicker getPiecePicker()
- Specified by:
getPiecePicker
in interfacePEPeerManager
-
getAdapter
public PEPeerManagerAdapter getAdapter()
- Specified by:
getAdapter
in interfacePEPeerManager
-
informFullyConnected
public void informFullyConnected(PEPeer peer)
- Specified by:
informFullyConnected
in interfacePEPeerManager
-
getConnectHealth
public java.lang.String getConnectHealth(boolean verbose)
- Specified by:
getConnectHealth
in interfacePEPeerManager
-
start
public void start()
- Specified by:
start
in interfacePEPeerManager
-
stopAll
public void stopAll()
- Specified by:
stopAll
in interfacePEPeerManager
-
getHash
public byte[] getHash()
- Specified by:
getHash
in interfacePEPeerManager
-
getDisplayName
public java.lang.String getDisplayName()
- Specified by:
getDisplayName
in interfacePEPeerManager
-
getPeerIdentityDataID
public PeerIdentityDataID getPeerIdentityDataID()
- Specified by:
getPeerIdentityDataID
in interfacePEPeerManager
-
getPeerId
public byte[] getPeerId()
- Specified by:
getPeerId
in interfacePEPeerManager
-
getAvailability
public int[] getAvailability()
- Specified by:
getAvailability
in interfacePEPeerManager
-
getAvailability
public int getAvailability(int pieceNumber)
- Specified by:
getAvailability
in interfacePEPeerManager
-
getAvgAvail
public float getAvgAvail()
- Specified by:
getAvgAvail
in interfacePEPeerManager
-
getMinAvailability
public float getMinAvailability()
- Specified by:
getMinAvailability
in interfacePEPeerManager
-
getMinAvailability
public float getMinAvailability(int file_index)
- Specified by:
getMinAvailability
in interfacePEPeerManager
-
getAvailWentBadTime
public long getAvailWentBadTime()
- Specified by:
getAvailWentBadTime
in interfacePEPeerManager
-
getBytesUnavailable
public long getBytesUnavailable()
- Specified by:
getBytesUnavailable
in interfacePEPeerManager
-
hasDownloadablePiece
public boolean hasDownloadablePiece()
- Specified by:
hasDownloadablePiece
in interfacePEPeerManager
-
getBytesQueuedForUpload
public int getBytesQueuedForUpload()
- Specified by:
getBytesQueuedForUpload
in interfacePEPeerManager
-
getNbPeersWithUploadQueued
public int getNbPeersWithUploadQueued()
- Specified by:
getNbPeersWithUploadQueued
in interfacePEPeerManager
-
getNbPeersWithUploadBlocked
public int getNbPeersWithUploadBlocked()
- Specified by:
getNbPeersWithUploadBlocked
in interfacePEPeerManager
-
getNbPeersUnchoked
public int getNbPeersUnchoked()
- Specified by:
getNbPeersUnchoked
in interfacePEPeerManager
-
getNbPeersUnchoking
public int getNbPeersUnchoking()
- Specified by:
getNbPeersUnchoking
in interfacePEPeerManager
-
getNbPieces
public int getNbPieces()
- Specified by:
getNbPieces
in interfacePEPeerManager
-
getPieces
public PEPiece[] getPieces()
Description copied from interface:PEPeerManager
Often better to use getPiece(pieceNumber)- Specified by:
getPieces
in interfacePEPeerManager
-
getPiece
public PEPiece getPiece(int pieceNumber)
- Specified by:
getPiece
in interfacePEPeerManager
- Returns:
- PEPiece or null if piece not currently active
-
getStats
public PEPeerManagerStats getStats()
- Specified by:
getStats
in interfacePEPeerManager
-
processTrackerResponse
public void processTrackerResponse(TRTrackerAnnouncerResponse response)
- Specified by:
processTrackerResponse
in interfacePEPeerManager
-
getNbPeers
public int getNbPeers()
- Specified by:
getNbPeers
in interfacePEPeerManager
-
getNbSeeds
public int getNbSeeds()
- Specified by:
getNbSeeds
in interfacePEPeerManager
-
getPieceLength
public int getPieceLength(int pieceNumber)
- Specified by:
getPieceLength
in interfacePEPeerManager
-
getRemaining
public long getRemaining()
- Specified by:
getRemaining
in interfacePEPeerManager
-
getHiddenBytes
public long getHiddenBytes()
- Specified by:
getHiddenBytes
in interfacePEPeerManager
-
getETA
public long getETA(boolean smoothed)
- Specified by:
getETA
in interfacePEPeerManager
-
getElapsedTime
public java.lang.String getElapsedTime()
- Specified by:
getElapsedTime
in interfacePEPeerManager
-
getTimeStarted
public long getTimeStarted(boolean mono_time)
- Specified by:
getTimeStarted
in interfacePEPeerManager
-
getTimeStartedSeeding
public long getTimeStartedSeeding(boolean mono_time)
- Specified by:
getTimeStartedSeeding
in interfacePEPeerManager
-
addListener
public void addListener(PEPeerManagerListener l)
- Specified by:
addListener
in interfacePEPeerManager
-
removeListener
public void removeListener(PEPeerManagerListener l)
- Specified by:
removeListener
in interfacePEPeerManager
-
addPiece
public void addPiece(PEPiece piece, int pieceNumber, PEPeer for_peer)
- Specified by:
addPiece
in interfacePEPeerManager
-
needsMD5CheckOnCompletion
public boolean needsMD5CheckOnCompletion(int pieceNumber)
- Specified by:
needsMD5CheckOnCompletion
in interfacePEPeerManager
-
isSeeding
public boolean isSeeding()
- Specified by:
isSeeding
in interfacePEPeerManager
-
isMetadataDownload
public boolean isMetadataDownload()
- Specified by:
isMetadataDownload
in interfacePEPeerManager
-
getTorrentInfoDictSize
public int getTorrentInfoDictSize()
- Specified by:
getTorrentInfoDictSize
in interfacePEPeerManager
-
setTorrentInfoDictSize
public void setTorrentInfoDictSize(int size)
- Specified by:
setTorrentInfoDictSize
in interfacePEPeerManager
-
isSuperSeedMode
public boolean isSuperSeedMode()
- Specified by:
isSuperSeedMode
in interfacePEPeerManager
-
canToggleSuperSeedMode
public boolean canToggleSuperSeedMode()
- Specified by:
canToggleSuperSeedMode
in interfacePEPeerManager
-
setSuperSeedMode
public void setSuperSeedMode(boolean on)
- Specified by:
setSuperSeedMode
in interfacePEPeerManager
-
seedPieceRecheck
public boolean seedPieceRecheck()
- Specified by:
seedPieceRecheck
in interfacePEPeerManager
-
getNbRemoteTCPConnections
public int getNbRemoteTCPConnections()
- Specified by:
getNbRemoteTCPConnections
in interfacePEPeerManager
-
getNbRemoteUDPConnections
public int getNbRemoteUDPConnections()
- Specified by:
getNbRemoteUDPConnections
in interfacePEPeerManager
-
getNbRemoteUTPConnections
public int getNbRemoteUTPConnections()
- Specified by:
getNbRemoteUTPConnections
in interfacePEPeerManager
-
getLastRemoteConnectionTime
public long getLastRemoteConnectionTime()
- Specified by:
getLastRemoteConnectionTime
in interfacePEPeerManager
-
getMaxNewConnectionsAllowed
public int getMaxNewConnectionsAllowed(java.lang.String network)
- Specified by:
getMaxNewConnectionsAllowed
in interfacePEPeerManager
-
hasPotentialConnections
public boolean hasPotentialConnections()
- Specified by:
hasPotentialConnections
in interfacePEPeerManager
-
dataBytesReceived
public void dataBytesReceived(PEPeer peer, int l)
Description copied from interface:PEPeerManager
Data bytes received.- Specified by:
dataBytesReceived
in interfacePEPeerManager
-
dataBytesSent
public void dataBytesSent(PEPeer peer, int l)
Description copied from interface:PEPeerManager
Data bytes sent.- Specified by:
dataBytesSent
in interfacePEPeerManager
-
protocolBytesSent
public void protocolBytesSent(PEPeer peer, int length)
Description copied from interface:PEPeerManager
Protocol bytes sent.- Specified by:
protocolBytesSent
in interfacePEPeerManager
-
protocolBytesReceived
public void protocolBytesReceived(PEPeer peer, int length)
Description copied from interface:PEPeerManager
Protocol bytes received.- Specified by:
protocolBytesReceived
in interfacePEPeerManager
-
discarded
public void discarded(PEPeer peer, int l)
- Specified by:
discarded
in interfacePEPeerManager
-
createPeerStats
public PEPeerStats createPeerStats(PEPeer owner)
- Specified by:
createPeerStats
in interfacePEPeerManager
-
getMyPeer
public PEPeer getMyPeer()
- Specified by:
getMyPeer
in interfacePEPeerManager
-
getPeers
public java.util.List<PEPeer> getPeers()
- Specified by:
getPeers
in interfacePEPeerManager
-
getPeers
public java.util.List<PEPeer> getPeers(java.lang.String address)
- Specified by:
getPeers
in interfacePEPeerManager
-
getPendingPeerCount
public int getPendingPeerCount()
- Specified by:
getPendingPeerCount
in interfacePEPeerManager
-
getPendingPeers
public PeerDescriptor[] getPendingPeers()
- Specified by:
getPendingPeers
in interfacePEPeerManager
-
getPendingPeers
public PeerDescriptor[] getPendingPeers(java.lang.String address)
- Specified by:
getPendingPeers
in interfacePEPeerManager
-
addPeer
public void addPeer(PEPeer peer)
- Specified by:
addPeer
in interfacePEPeerManager
-
addPeer
public void addPeer(java.lang.String ip_address, int tcp_port, int udp_port, boolean use_crypto, java.util.Map user_data)
Description copied from interface:PEPeerManager
Add a new peer, using the default internal PEPeer implementation (like for peers given in announce reply), using the given address and port.- Specified by:
addPeer
in interfacePEPeerManager
- Parameters:
ip_address
- of peer to injecttcp_port
- of peer to injectudp_port
- of peer to inject (0 if unknown)use_crypto
- use encrypted transport
-
peerDiscovered
public void peerDiscovered(java.lang.String peer_source, java.lang.String ip_address, int tcp_port, int udp_port, boolean use_crypto)
- Specified by:
peerDiscovered
in interfacePEPeerManager
-
removePeer
public void removePeer(PEPeer peer)
- Specified by:
removePeer
in interfacePEPeerManager
-
removePeer
public void removePeer(PEPeer peer, java.lang.String reason)
- Specified by:
removePeer
in interfacePEPeerManager
-
peerAdded
public void peerAdded(PEPeer pc)
-
peerRemoved
public void peerRemoved(PEPeer pc)
-
createDiskManagerRequest
public DiskManagerReadRequest createDiskManagerRequest(int pieceNumber, int offset, int length)
- Specified by:
createDiskManagerRequest
in interfacePEPeerManager
-
requestCanceled
public void requestCanceled(DiskManagerReadRequest item)
- Specified by:
requestCanceled
in interfacePEPeerManager
-
requestExists
public boolean requestExists(java.lang.String peer_ip, int piece_number, int offset, int length)
- Specified by:
requestExists
in interfacePEPeerManager
-
validatePieceReply
public boolean validatePieceReply(PEPeerTransport originator, int pieceNumber, int offset, DirectByteBuffer data)
- Specified by:
validatePieceReply
in interfacePEPeerManager
-
writeBlock
public void writeBlock(int pieceNumber, int offset, DirectByteBuffer data, java.lang.Object sender, boolean cancel)
- Specified by:
writeBlock
in interfacePEPeerManager
-
isWritten
public boolean isWritten(int piece_number, int offset)
- Specified by:
isWritten
in interfacePEPeerManager
-
isInEndGameMode
public boolean isInEndGameMode()
Description copied from interface:PEPeerManager
Are we in end-game mode?- Specified by:
isInEndGameMode
in interfacePEPeerManager
- Returns:
- true if in end game mode, false if not
-
peerConnectionClosed
public void peerConnectionClosed(PEPeerTransport peer, boolean connect_failed, boolean network_failed)
Description copied from interface:PEPeerManager
Notify the manager that the given peer connection has been closed.- Specified by:
peerConnectionClosed
in interfacePEPeerManager
- Parameters:
peer
- closed
-
createPeerExchangeConnection
public PeerExchangerItem createPeerExchangeConnection(PEPeerTransport base_peer)
Description copied from interface:PEPeerManager
Register a peer connection for peer exchange handling. NOTE: Creation could fail if the peer is not eligible for peer exchange (like if it's remote port is unknown).- Specified by:
createPeerExchangeConnection
in interfacePEPeerManager
- Parameters:
base_peer
- exchaning with- Returns:
- peer database connection item, or null if creation failed
-
peerVerifiedAsSelf
public void peerVerifiedAsSelf(PEPeerTransport self)
Description copied from interface:PEPeerManager
Notify that the given peer connection represents our own client.- Specified by:
peerVerifiedAsSelf
in interfacePEPeerManager
- Parameters:
self
- peer
-
getUploadLimitedRateGroup
public LimitedRateGroup getUploadLimitedRateGroup()
Description copied from interface:PEPeerManager
Get the limited rate group used for upload limiting.- Specified by:
getUploadLimitedRateGroup
in interfacePEPeerManager
- Returns:
- upload limit group
-
getDownloadLimitedRateGroup
public LimitedRateGroup getDownloadLimitedRateGroup()
Description copied from interface:PEPeerManager
Get the limited rate group used for download limiting.- Specified by:
getDownloadLimitedRateGroup
in interfacePEPeerManager
- Returns:
- download limit group
-
getEffectiveUploadRateLimitBytesPerSecond
public int getEffectiveUploadRateLimitBytesPerSecond()
- Specified by:
getEffectiveUploadRateLimitBytesPerSecond
in interfacePEPeerManager
-
getUploadRateLimitBytesPerSecond
public int getUploadRateLimitBytesPerSecond()
- Specified by:
getUploadRateLimitBytesPerSecond
in interfacePEPeerManager
-
getDownloadRateLimitBytesPerSecond
public int getDownloadRateLimitBytesPerSecond()
- Specified by:
getDownloadRateLimitBytesPerSecond
in interfacePEPeerManager
-
getData
public java.lang.Object getData(java.lang.String key)
Description copied from interface:PEPeerManager
To retreive arbitrary objects against this object.- Specified by:
getData
in interfacePEPeerManager
-
setData
public void setData(java.lang.String key, java.lang.Object value)
Description copied from interface:PEPeerManager
To store arbitrary objects against this object.- Specified by:
setData
in interfacePEPeerManager
-
getAverageCompletionInThousandNotation
public int getAverageCompletionInThousandNotation()
Description copied from interface:PEPeerManager
Get the average completion percentage of connected peers.- Specified by:
getAverageCompletionInThousandNotation
in interfacePEPeerManager
- Returns:
- average percent complete in thousand notation
-
getMaxCompletionInThousandNotation
public int getMaxCompletionInThousandNotation(boolean never_include_seeds)
Description copied from interface:PEPeerManager
Max completion of connected peers (doesn't factor in our completion)- Specified by:
getMaxCompletionInThousandNotation
in interfacePEPeerManager
- Returns:
-
getTransportFromIdentity
public PEPeerTransport getTransportFromIdentity(byte[] peer_id)
Description copied from interface:PEPeerManager
Locate an existing transport via peer id byte identity.- Specified by:
getTransportFromIdentity
in interfacePEPeerManager
- Parameters:
peer_id
- to look for- Returns:
- transport with matching identity, or null if no match is found
-
getTransportFromAddress
public PEPeerTransport getTransportFromAddress(java.lang.String peer)
Description copied from interface:PEPeerManager
Locate an existing transport via [IP] Address.- Specified by:
getTransportFromAddress
in interfacePEPeerManager
- Parameters:
peer
- String to look for- Returns:
- PEPeerTransport with matching address String, or null if no match is found
-
getPreferUDP
public boolean getPreferUDP()
- Specified by:
getPreferUDP
in interfacePEPeerManager
-
setPreferUDP
public void setPreferUDP(boolean prefer)
- Specified by:
setPreferUDP
in interfacePEPeerManager
-
addRateLimiter
public void addRateLimiter(LimitedRateGroup group, boolean upload)
- Specified by:
addRateLimiter
in interfacePEPeerManager
-
removeRateLimiter
public void removeRateLimiter(LimitedRateGroup group, boolean upload)
- Specified by:
removeRateLimiter
in interfacePEPeerManager
-
getTrackerPeerSource
public TrackerPeerSource getTrackerPeerSource()
- Specified by:
getTrackerPeerSource
in interfacePEPeerManager
-
isPeerSourceEnabled
public boolean isPeerSourceEnabled(java.lang.String peer_source)
- Specified by:
isPeerSourceEnabled
in interfacePEPeerManager
-
isNetworkEnabled
public boolean isNetworkEnabled(java.lang.String network)
- Specified by:
isNetworkEnabled
in interfacePEPeerManager
-
getPartitionID
public int getPartitionID()
- Specified by:
getPartitionID
in interfacePEPeerManager
-
removeAllPeers
public void removeAllPeers(java.lang.String reason)
- Specified by:
removeAllPeers
in interfacePEPeerManager
-
isDestroyed
public boolean isDestroyed()
- Specified by:
isDestroyed
in interfacePEPeerManager
-
generateEvidence
public void generateEvidence(IndentWriter writer)
- Specified by:
generateEvidence
in interfacePEPeerManager
-
setStatsReceiver
public void setStatsReceiver(PEPeerManager.StatsReceiver receiver)
- Specified by:
setStatsReceiver
in interfacePEPeerManager
-
validateReadRequest
public boolean validateReadRequest(PEPeerTransport originator, int pieceNumber, int offset, int length)
- Specified by:
validateReadRequest
in interfacePEPeerControl
-
validateHintRequest
public boolean validateHintRequest(PEPeerTransport originator, int pieceNumber, int offset, int length)
- Specified by:
validateHintRequest
in interfacePEPeerControl
-
havePiece
public void havePiece(int pieceNumber, int pieceLength, PEPeer pcOrigin)
- Specified by:
havePiece
in interfacePEPeerControl
-
updateSuperSeedPiece
public void updateSuperSeedPiece(PEPeer peer, int pieceNumber)
- Specified by:
updateSuperSeedPiece
in interfacePEPeerControl
-
getTCPListeningPortNumber
public int getTCPListeningPortNumber()
- Specified by:
getTCPListeningPortNumber
in interfacePEPeerControl
-
getTargetHash
public byte[] getTargetHash()
Description copied from interface:PEPeerControl
Get torrent hash including any overrides- Specified by:
getTargetHash
in interfacePEPeerControl
- Returns:
-
isPrivateTorrent
public boolean isPrivateTorrent()
- Specified by:
isPrivateTorrent
in interfacePEPeerControl
-
getExtendedMessagingMode
public int getExtendedMessagingMode()
- Specified by:
getExtendedMessagingMode
in interfacePEPeerControl
-
isPeerExchangeEnabled
public boolean isPeerExchangeEnabled()
- Specified by:
isPeerExchangeEnabled
in interfacePEPeerControl
-
getSecrets
public byte[][] getSecrets(int crypto_level)
- Specified by:
getSecrets
in interfacePEPeerControl
-
getUploadPriority
public int getUploadPriority()
- Specified by:
getUploadPriority
in interfacePEPeerControl
-
getHiddenPiece
public int getHiddenPiece()
- Specified by:
getHiddenPiece
in interfacePEPeerControl
-
addPeerTransport
public void addPeerTransport(PEPeerTransport transport)
- Specified by:
addPeerTransport
in interfacePEPeerControl
-
getConnectTimeout
public int getConnectTimeout(int ct_def)
- Specified by:
getConnectTimeout
in interfacePEPeerControl
-
getMaxConnections
public int[] getMaxConnections()
- Specified by:
getMaxConnections
in interfacePEPeerControl
-
doOptimisticDisconnect
public boolean doOptimisticDisconnect(boolean pending_lan_local_peer, boolean force, java.lang.String network)
- Specified by:
doOptimisticDisconnect
in interfacePEPeerControl
-
getNbActivePieces
public int getNbActivePieces()
- Specified by:
getNbActivePieces
in interfacePEPeerControl
-
getNbPeersStalledPendingLoad
public int getNbPeersStalledPendingLoad()
- Specified by:
getNbPeersStalledPendingLoad
in interfacePEPeerControl
-
incNbPeersSnubbed
public void incNbPeersSnubbed()
- Specified by:
incNbPeersSnubbed
in interfacePEPeerControl
-
decNbPeersSnubbed
public void decNbPeersSnubbed()
- Specified by:
decNbPeersSnubbed
in interfacePEPeerControl
-
setNbPeersSnubbed
public void setNbPeersSnubbed(int n)
- Specified by:
setNbPeersSnubbed
in interfacePEPeerControl
-
getNbPeersSnubbed
public int getNbPeersSnubbed()
- Specified by:
getNbPeersSnubbed
in interfacePEPeerControl
-
checkSnubbing
public void checkSnubbing(PEPeerTransport peer)
- Specified by:
checkSnubbing
in interfacePEPeerControl
-
badPieceReported
public void badPieceReported(PEPeerTransport originator, int piece_number)
- Specified by:
badPieceReported
in interfacePEPeerControl
-
isFastExtensionPermitted
public boolean isFastExtensionPermitted(PEPeerTransport originator)
- Specified by:
isFastExtensionPermitted
in interfacePEPeerControl
-
reportBadFastExtensionUse
public void reportBadFastExtensionUse(PEPeerTransport originator)
- Specified by:
reportBadFastExtensionUse
in interfacePEPeerControl
-
statsRequest
public void statsRequest(PEPeerTransport originator, java.util.Map request)
- Specified by:
statsRequest
in interfacePEPeerControl
-
statsReply
public void statsReply(PEPeerTransport originator, java.util.Map reply)
- Specified by:
statsReply
in interfacePEPeerControl
-
isRTA
public boolean isRTA()
- Specified by:
isRTA
in interfacePEPeerControl
-
peerDiscovered
public void peerDiscovered(PEPeerTransport finder, PeerItem pi)
- Specified by:
peerDiscovered
in interfacePEPeerControl
-
getHashHandler
public PEPeerControlHashHandler getHashHandler()
- Specified by:
getHashHandler
in interfacePEPeerControl
-
log
private void log()
-
-