Package com.biglybt.core.peer
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 TypeMethodDescriptionvoid
void
void
Add a new peer, using the default internal PEPeer implementation (like for peers given in announce reply), using the given address and port.void
void
addRateLimiter
(LimitedRateGroup group, boolean upload) boolean
createDiskManagerRequest
(int pieceNumber, int offset, int length) createPeerExchangeConnection
(PEPeerTransport base_peer) Register a peer connection for peer exchange handling.createPeerStats
(PEPeer owner) void
dataBytesReceived
(PEPeer peer, int l) Data bytes received.void
dataBytesSent
(PEPeer peer, int l) Data bytes sent.void
void
generateEvidence
(IndentWriter writer) int[]
int
getAvailability
(int pieceNumber) long
int
Get the average completion percentage of connected peers.float
int
long
getConnectHealth
(boolean verbose) To retreive arbitrary objects against this object.Get the limited rate group used for download limiting.int
int
long
getETA
(boolean smoothed) byte[]
getHash()
long
int
long
int
getMaxCompletionInThousandNotation
(boolean never_include_seeds) Max completion of connected peers (doesn't factor in our completion)int
getMaxNewConnectionsAllowed
(String network) float
float
getMinAvailability
(int file_index) int
int
int
int
int
int
int
int
int
int
int
byte[]
getPeers()
int
getPendingPeers
(String address) getPiece
(int pieceNumber) int
getPieceLength
(int pieceNumber) PEPiece[]
Often better to use getPiece(pieceNumber)boolean
long
getStats()
long
getTimeStarted
(boolean mono_time) long
getTimeStartedSeeding
(boolean mono_time) int
Locate an existing transport via [IP] Address.getTransportFromIdentity
(byte[] peer_id) Locate an existing transport via peer id byte identity.int
getUID()
Get the limited rate group used for upload limiting.int
boolean
boolean
void
informFullyConnected
(PEPeer peer) boolean
boolean
Are we in end-game mode?boolean
boolean
isNetworkEnabled
(String network) boolean
isPeerSourceEnabled
(String peer_source) boolean
boolean
boolean
isWritten
(int piece_number, int offset) boolean
needsMD5CheckOnCompletion
(int pieceNumber) void
peerConnectionClosed
(PEPeerTransport peer, boolean connect_failed, boolean network_failed) Notify the manager that the given peer connection has been closed.void
peerDiscovered
(String peer_source, String ip_address, int tcp_port, int udp_port, boolean use_crypto) void
Notify that the given peer connection represents our own client.void
void
protocolBytesReceived
(PEPeer peer, int length) Protocol bytes received.void
protocolBytesSent
(PEPeer peer, int length) Protocol bytes sent.void
removeAllPeers
(String reason, int reason_code) void
default void
removePeer
(PEPeer peer, String reason) void
removePeer
(PEPeer peer, String reason, int reason_code) void
removeRateLimiter
(LimitedRateGroup group, boolean upload) void
boolean
requestExists
(String peer_ip, int piece_number, int offset, int length) boolean
void
To store arbitrary objects against this object.void
void
setPreferUDP
(boolean prefer) void
setStatsReceiver
(PEPeerManager.StatsReceiver receiver) void
setSuperSeedMode
(boolean on) void
setTorrentInfoDictSize
(int size) void
start()
void
stopAll()
boolean
validatePieceReply
(PEPeerTransport originator, int pieceNumber, int offset, DirectByteBuffer data) void
writeBlock
(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
Data bytes received.- Parameters:
l
-
-
dataBytesSent
Data bytes sent.- Parameters:
l
-
-
protocolBytesSent
Protocol bytes sent.- Parameters:
length
-
-
protocolBytesReceived
Protocol bytes received.- Parameters:
length
-
-
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
To retreive arbitrary objects against this object. -
setData
To store arbitrary objects against this object. -
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
-