Interface PEPeerManager
- All Known Subinterfaces:
PEPeerControl
- All Known Implementing Classes:
PeerManager.PeerManagerRegistrationImpl.ProbeControl, PEPeerControlImpl
public interface PEPeerManager
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidvoidAdd a new peer, using the default internal PEPeer implementation (like for peers given in announce reply), using the given address and port.voidvoidaddRateLimiter(LimitedRateGroup group, boolean upload) booleancreateDiskManagerRequest(int pieceNumber, int offset, int length) createPeerExchangeConnection(PEPeerTransport base_peer) Register a peer connection for peer exchange handling.createPeerStats(PEPeer owner) voiddataBytesReceived(PEPeer peer, long l) Data bytes received.voiddataBytesSent(PEPeer peer, long l) Data bytes sent.voidvoidgenerateEvidence(IndentWriter writer) int[]intgetAvailability(int pieceNumber) longintGet the average completion percentage of connected peers.floatintlonggetConnectHealth(boolean verbose) To retreive arbitrary objects against this object.Get the limited rate group used for download limiting.intintlonggetETA(boolean smoothed) byte[]getHash()longintlongintgetMaxCompletionInThousandNotation(boolean never_include_seeds) Max completion of connected peers (doesn't factor in our completion)intgetMaxNewConnectionsAllowed(String network) floatfloatgetMinAvailability(int file_index) intintintintintintintintintintintbyte[]getPeers()intgetPendingPeers(String address) getPiece(int pieceNumber) intgetPieceLength(int pieceNumber) PEPiece[]Often better to use getPiece(pieceNumber)booleanlonggetStats()longgetTimeStarted(boolean mono_time) longgetTimeStartedSeeding(boolean mono_time) intLocate an existing transport via [IP] Address.getTransportFromIdentity(byte[] peer_id) Locate an existing transport via peer id byte identity.intgetUID()Get the limited rate group used for upload limiting.intbooleanbooleanvoidinformFullyConnected(PEPeer peer) booleanbooleanAre we in end-game mode?booleanbooleanisNetworkEnabled(String network) booleanisPeerSourceEnabled(String peer_source) booleanbooleanbooleanisWritten(int piece_number, int offset) booleanneedsMD5CheckOnCompletion(int pieceNumber) voidpeerConnectionClosed(PEPeerTransport peer, boolean connect_failed, boolean network_failed) Notify the manager that the given peer connection has been closed.voidpeerDiscovered(String peer_source, String ip_address, int tcp_port, int udp_port, boolean use_crypto) voidNotify that the given peer connection represents our own client.voidvoidprotocolBytesReceived(PEPeer peer, long length) Protocol bytes received.voidprotocolBytesSent(PEPeer peer, long length) Protocol bytes sent.voidremoveAllPeers(String reason, int reason_code) voiddefault voidremovePeer(PEPeer peer, String reason) voidremovePeer(PEPeer peer, String reason, int reason_code) voidremoveRateLimiter(LimitedRateGroup group, boolean upload) voidbooleanrequestExists(String peer_ip, int piece_number, int offset, int length) booleanvoidTo store arbitrary objects against this object.voidvoidsetPreferUDP(boolean prefer) voidsetStatsReceiver(PEPeerManager.StatsReceiver receiver) voidsetSuperSeedMode(boolean on) voidsetTorrentInfoDictSize(int size) voidstart()voidstopAll()booleanvalidatePieceReply(PEPeerTransport originator, int pieceNumber, int offset, DirectByteBuffer data) voidwriteBlock(int pieceNumber, int offset, DirectByteBuffer data, Object sender, boolean cancel)
-
Method Details
-
getUID
int getUID() -
getDiskManager
DiskManager getDiskManager() -
getPiecePicker
PiecePicker getPiecePicker() -
getAdapter
PEPeerManagerAdapter getAdapter() -
start
void start() -
stopAll
void stopAll() -
getHash
byte[] getHash() -
getDisplayName
String getDisplayName() -
getPeerIdentityDataID
PeerIdentityDataID getPeerIdentityDataID() -
getPeerId
byte[] getPeerId() -
getAvailability
int[] getAvailability() -
getAvailability
int getAvailability(int pieceNumber) -
getAvgAvail
float getAvgAvail() -
getMinAvailability
float getMinAvailability() -
getMinAvailability
float getMinAvailability(int file_index) -
getAvailWentBadTime
long getAvailWentBadTime()- Returns:
- 0: hasn't transitioned from good to bad this session OR known to be good; >0: time availability went from good to bad
-
hasDownloadablePiece
boolean hasDownloadablePiece() -
getBytesQueuedForUpload
int getBytesQueuedForUpload() -
getNbPeersWithUploadQueued
int getNbPeersWithUploadQueued() -
getNbPeersWithUploadBlocked
int getNbPeersWithUploadBlocked() -
getNbPeersUnchoked
int getNbPeersUnchoked() -
getNbPeersUnchoking
int getNbPeersUnchoking() -
getNbPieces
int getNbPieces() -
getPieces
PEPiece[] getPieces()Often better to use getPiece(pieceNumber) -
getPiece
- Returns:
- PEPiece or null if piece not currently active
-
getStats
PEPeerManagerStats getStats() -
processTrackerResponse
-
getNbPeers
int getNbPeers() -
getNbSeeds
int getNbSeeds() -
getPieceLength
int getPieceLength(int pieceNumber) -
getRemaining
long getRemaining() -
getHiddenPiece
int getHiddenPiece() -
getHiddenBytes
long getHiddenBytes() -
getETA
long getETA(boolean smoothed) -
getElapsedTime
String getElapsedTime() -
getTimeStarted
long getTimeStarted(boolean mono_time) -
getTimeStartedSeeding
long getTimeStartedSeeding(boolean mono_time) -
getConnectHealth
-
addListener
-
removeListener
-
addPiece
-
needsMD5CheckOnCompletion
boolean needsMD5CheckOnCompletion(int pieceNumber) -
isSeeding
boolean isSeeding() -
isMetadataDownload
boolean isMetadataDownload() -
getTorrentInfoDictSize
int getTorrentInfoDictSize() -
setTorrentInfoDictSize
void setTorrentInfoDictSize(int size) -
isSuperSeedMode
boolean isSuperSeedMode() -
canToggleSuperSeedMode
boolean canToggleSuperSeedMode() -
setSuperSeedMode
void setSuperSeedMode(boolean on) -
seedPieceRecheck
boolean seedPieceRecheck() -
getNbRemoteTCPConnections
int getNbRemoteTCPConnections() -
getNbRemoteUDPConnections
int getNbRemoteUDPConnections() -
getNbRemoteUTPConnections
int getNbRemoteUTPConnections() -
getLastRemoteConnectionTime
long getLastRemoteConnectionTime() -
getMaxNewConnectionsAllowed
-
hasPotentialConnections
boolean hasPotentialConnections() -
dataBytesReceived
-
dataBytesSent
-
protocolBytesSent
-
protocolBytesReceived
-
discarded
-
createPeerStats
-
getMyPeer
PEPeer getMyPeer() -
getPeers
-
getPeers
-
getPendingPeerCount
int getPendingPeerCount() -
getPendingPeers
PeerDescriptor[] getPendingPeers() -
getPendingPeers
-
addPeer
-
addPeer
void addPeer(String ip_address, int tcp_port, int udp_port, boolean use_crypto, Map user_data) throws Exception Add a new peer, using the default internal PEPeer implementation (like for peers given in announce reply), using the given address and port.- 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- Throws:
Exception
-
peerDiscovered
-
removePeer
-
removePeer
-
informFullyConnected
-
createDiskManagerRequest
-
requestCanceled
-
requestExists
-
validatePieceReply
boolean validatePieceReply(PEPeerTransport originator, int pieceNumber, int offset, DirectByteBuffer data) -
writeBlock
-
isWritten
boolean isWritten(int piece_number, int offset) -
isInEndGameMode
boolean isInEndGameMode()Are we in end-game mode?- Returns:
- true if in end game mode, false if not
-
peerConnectionClosed
Notify the manager that the given peer connection has been closed.- Parameters:
peer- closed
-
createPeerExchangeConnection
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).- Parameters:
base_peer- exchanging with- Returns:
- peer database connection item, or null if creation failed
-
peerVerifiedAsSelf
Notify that the given peer connection represents our own client.- Parameters:
self- peer
-
getUploadLimitedRateGroup
LimitedRateGroup getUploadLimitedRateGroup()Get the limited rate group used for upload limiting.- Returns:
- upload limit group
-
getDownloadLimitedRateGroup
LimitedRateGroup getDownloadLimitedRateGroup()Get the limited rate group used for download limiting.- Returns:
- download limit group
-
getEffectiveUploadRateLimitBytesPerSecond
int getEffectiveUploadRateLimitBytesPerSecond() -
getUploadRateLimitBytesPerSecond
int getUploadRateLimitBytesPerSecond() -
getDownloadRateLimitBytesPerSecond
int getDownloadRateLimitBytesPerSecond() -
getData
-
setData
-
getAverageCompletionInThousandNotation
int getAverageCompletionInThousandNotation()Get the average completion percentage of connected peers.- Returns:
- average percent complete in thousand notation
-
getMaxCompletionInThousandNotation
int getMaxCompletionInThousandNotation(boolean never_include_seeds) Max completion of connected peers (doesn't factor in our completion)- Returns:
-
getTransportFromIdentity
Locate an existing transport via peer id byte identity.- Parameters:
peer_id- to look for- Returns:
- transport with matching identity, or null if no match is found
-
getTransportFromAddress
Locate an existing transport via [IP] Address.- Parameters:
peer- String to look for- Returns:
- PEPeerTransport with matching address String, or null if no match is found
-
getPreferUDP
boolean getPreferUDP() -
setPreferUDP
void setPreferUDP(boolean prefer) -
addRateLimiter
-
removeRateLimiter
-
getTrackerPeerSource
TrackerPeerSource getTrackerPeerSource() -
isPeerSourceEnabled
-
isNetworkEnabled
-
getPartitionID
int getPartitionID() -
setMaskDownloadCompletion
-
removeAllPeers
-
isDestroyed
boolean isDestroyed() -
generateEvidence
-
setStatsReceiver
-