Interface PEPeerManager

    • Method Detail

      • getUID

        int getUID()
      • start

        void start()
      • stopAll

        void stopAll()
      • getHash

        byte[] getHash()
      • getDisplayName

        java.lang.String getDisplayName()
      • 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()
      • 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
      • getNbPeers

        int getNbPeers()
      • getNbSeeds

        int getNbSeeds()
      • getPieceLength

        int getPieceLength​(int pieceNumber)
      • getRemaining

        long getRemaining()
      • getHiddenBytes

        long getHiddenBytes()
      • getETA

        long getETA​(boolean smoothed)
      • getElapsedTime

        java.lang.String getElapsedTime()
      • getTimeStarted

        long getTimeStarted​(boolean mono_time)
      • getTimeStartedSeeding

        long getTimeStartedSeeding​(boolean mono_time)
      • getConnectHealth

        java.lang.String getConnectHealth​(boolean verbose)
      • 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​(java.lang.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)
      • getMyPeer

        PEPeer getMyPeer()
      • getPeers

        java.util.List<PEPeer> getPeers()
      • getPeers

        java.util.List<PEPeer> getPeers​(java.lang.String address)
      • getPendingPeerCount

        int getPendingPeerCount()
      • getPendingPeers

        PeerDescriptor[] getPendingPeers​(java.lang.String address)
      • addPeer

        void addPeer​(PEPeer peer)
      • addPeer

        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.
        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
      • peerDiscovered

        void peerDiscovered​(java.lang.String peer_source,
                            java.lang.String ip_address,
                            int tcp_port,
                            int udp_port,
                            boolean use_crypto)
      • removePeer

        void removePeer​(PEPeer peer)
      • removePeer

        void removePeer​(PEPeer peer,
                        java.lang.String reason)
      • informFullyConnected

        void informFullyConnected​(PEPeer peer)
      • createDiskManagerRequest

        DiskManagerReadRequest createDiskManagerRequest​(int pieceNumber,
                                                        int offset,
                                                        int length)
      • requestExists

        boolean requestExists​(java.lang.String peer_ip,
                              int piece_number,
                              int offset,
                              int length)
      • writeBlock

        void writeBlock​(int pieceNumber,
                        int offset,
                        DirectByteBuffer data,
                        java.lang.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 - exchaning 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

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

        void setData​(java.lang.String key,
                     java.lang.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​(java.lang.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)
      • isPeerSourceEnabled

        boolean isPeerSourceEnabled​(java.lang.String peer_source)
      • isNetworkEnabled

        boolean isNetworkEnabled​(java.lang.String network)
      • getPartitionID

        int getPartitionID()
      • removeAllPeers

        void removeAllPeers​(java.lang.String reason)
      • isDestroyed

        boolean isDestroyed()
      • generateEvidence

        void generateEvidence​(IndentWriter writer)