Interface PEPeerManager

All Known Subinterfaces:
PEPeerControl
All Known Implementing Classes:
PeerManager.PeerManagerRegistrationImpl.ProbeControl, PEPeerControlImpl

public interface PEPeerManager
  • 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
    • getBytesUnavailable

      long getBytesUnavailable()
    • 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

      PEPiece getPiece(int pieceNumber)
      Returns:
      PEPiece or null if piece not currently active
    • getStats

      PEPeerManagerStats getStats()
    • processTrackerResponse

      void processTrackerResponse(TRTrackerAnnouncerResponse response)
    • 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

      String getConnectHealth(boolean verbose)
    • addListener

      void addListener(PEPeerManagerListener l)
    • removeListener

      void removeListener(PEPeerManagerListener l)
    • addPiece

      void addPiece(PEPiece piece, int pieceNumber, PEPeer for_peer)
    • 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

      int getMaxNewConnectionsAllowed(String network)
    • hasPotentialConnections

      boolean hasPotentialConnections()
    • dataBytesReceived

      void dataBytesReceived(PEPeer peer, int l)
      Data bytes received.
      Parameters:
      l -
    • dataBytesSent

      void dataBytesSent(PEPeer peer, int l)
      Data bytes sent.
      Parameters:
      l -
    • protocolBytesSent

      void protocolBytesSent(PEPeer peer, int length)
      Protocol bytes sent.
      Parameters:
      length -
    • protocolBytesReceived

      void protocolBytesReceived(PEPeer peer, int length)
      Protocol bytes received.
      Parameters:
      length -
    • discarded

      void discarded(PEPeer peer, int l)
    • createPeerStats

      PEPeerStats createPeerStats(PEPeer owner)
    • getMyPeer

      PEPeer getMyPeer()
    • getPeers

      List<PEPeer> getPeers()
    • getPeers

      List<PEPeer> getPeers(String address)
    • getPendingPeerCount

      int getPendingPeerCount()
    • getPendingPeers

      PeerDescriptor[] getPendingPeers()
    • getPendingPeers

      PeerDescriptor[] getPendingPeers(String address)
    • addPeer

      void addPeer(PEPeer peer)
    • 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 inject
      tcp_port - of peer to inject
      udp_port - of peer to inject (0 if unknown)
      use_crypto - use encrypted transport
      Throws:
      Exception
    • peerDiscovered

      void peerDiscovered(String peer_source, String ip_address, int tcp_port, int udp_port, boolean use_crypto)
    • removePeer

      default void removePeer(PEPeer peer, String reason)
    • removePeer

      void removePeer(PEPeer peer, String reason, int reason_code)
    • informFullyConnected

      void informFullyConnected(PEPeer peer)
    • createDiskManagerRequest

      DiskManagerReadRequest createDiskManagerRequest(int pieceNumber, int offset, int length)
    • requestCanceled

      void requestCanceled(DiskManagerReadRequest item)
    • requestExists

      boolean requestExists(String peer_ip, int piece_number, int offset, int length)
    • validatePieceReply

      boolean validatePieceReply(PEPeerTransport originator, int pieceNumber, int offset, DirectByteBuffer data)
    • writeBlock

      void writeBlock(int pieceNumber, int offset, DirectByteBuffer data, Object sender, boolean cancel)
    • 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

      void peerConnectionClosed(PEPeerTransport peer, boolean connect_failed, boolean network_failed)
      Notify the manager that the given peer connection has been closed.
      Parameters:
      peer - closed
    • createPeerExchangeConnection

      PeerExchangerItem createPeerExchangeConnection(PEPeerTransport base_peer)
      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

      void peerVerifiedAsSelf(PEPeerTransport self)
      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

      Object getData(String key)
      To retreive arbitrary objects against this object.
    • setData

      void setData(String key, Object value)
      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

      PEPeerTransport getTransportFromIdentity(byte[] peer_id)
      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

      PEPeerTransport getTransportFromAddress(String peer)
      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

      void addRateLimiter(LimitedRateGroup group, boolean upload)
    • removeRateLimiter

      void removeRateLimiter(LimitedRateGroup group, boolean upload)
    • getTrackerPeerSource

      TrackerPeerSource getTrackerPeerSource()
    • isPeerSourceEnabled

      boolean isPeerSourceEnabled(String peer_source)
    • isNetworkEnabled

      boolean isNetworkEnabled(String network)
    • getPartitionID

      int getPartitionID()
    • setMaskDownloadCompletion

      void setMaskDownloadCompletion(Boolean mask)
    • removeAllPeers

      void removeAllPeers(String reason, int reason_code)
    • isDestroyed

      boolean isDestroyed()
    • generateEvidence

      void generateEvidence(IndentWriter writer)
    • setStatsReceiver

      void setStatsReceiver(PEPeerManager.StatsReceiver receiver)