Class ExternalSeedPeer

    • Method Detail

      • setManager

        protected void setManager​(PeerManager _manager)
      • getDownload

        protected Download getDownload()
      • isMyPeer

        public boolean isMyPeer()
        Specified by:
        isMyPeer in interface Peer
      • setState

        protected void setState​(int newState)
      • checkConnection

        protected boolean checkConnection()
      • addPeer

        protected void addPeer()
      • removePeer

        protected void removePeer()
      • getState

        public int getState()
        Specified by:
        getState in interface Peer
      • getId

        public byte[] getId()
        Specified by:
        getId in interface Peer
      • getURL

        public java.net.URL getURL()
      • getIp

        public java.lang.String getIp()
        Description copied from interface: Peer
        Get the peer's local TCP connection port.
        Specified by:
        getIp in interface Peer
        Returns:
        local port
      • getTCPListenPort

        public int getTCPListenPort()
        Description copied from interface: Peer
        Get the TCP port this peer is listening for incoming connections on.
        Specified by:
        getTCPListenPort in interface Peer
        Returns:
        TCP port, or 0 if port is unknown
      • getUDPListenPort

        public int getUDPListenPort()
        Description copied from interface: Peer
        Get the UDP port this peer is listening for incoming connections on.
        Specified by:
        getUDPListenPort in interface Peer
        Returns:
        UDP port, or 0 if port is unknown
      • getUDPNonDataListenPort

        public int getUDPNonDataListenPort()
        Description copied from interface: Peer
        Get the UDP port this peer is listening on for non-data connections
        Specified by:
        getUDPNonDataListenPort in interface Peer
        Returns:
      • getPort

        public int getPort()
        Specified by:
        getPort in interface Peer
      • isLANLocal

        public boolean isLANLocal()
        Specified by:
        isLANLocal in interface Peer
      • getAvailable

        public final boolean[] getAvailable()
        Specified by:
        getAvailable in interface Peer
      • isPieceAvailable

        public final boolean isPieceAvailable​(int pieceNumber)
        Specified by:
        isPieceAvailable in interface Peer
        Parameters:
        pieceNumber - int
        Returns:
        true if this peers makes this piece available
      • isDownloadPossible

        public boolean isDownloadPossible()
        Description copied from interface: Peer
        This is much list isTransferAvailable(), except is more comprehensive. That is; it checks a few more factors, within the object for speed, so that a more timely status is considered and the caller doesn't need to try to check each thing on it's own.
        Specified by:
        isDownloadPossible in interface Peer
        Returns:
        true if several factors say downloading can be tried.
      • isChoked

        public boolean isChoked()
        Specified by:
        isChoked in interface Peer
      • isChoking

        public boolean isChoking()
        Specified by:
        isChoking in interface Peer
      • isInterested

        public boolean isInterested()
        Specified by:
        isInterested in interface Peer
      • isInteresting

        public boolean isInteresting()
        Specified by:
        isInteresting in interface Peer
      • isSeed

        public boolean isSeed()
        Specified by:
        isSeed in interface Peer
      • isSnubbed

        public boolean isSnubbed()
        Specified by:
        isSnubbed in interface Peer
      • getSnubbedTime

        public long getSnubbedTime()
        Specified by:
        getSnubbedTime in interface Peer
      • setSnubbed

        public void setSnubbed​(boolean b)
        Specified by:
        setSnubbed in interface Peer
      • setOptimisticUnchoke

        public void setOptimisticUnchoke​(boolean _is_optimistic)
        Specified by:
        setOptimisticUnchoke in interface Peer
      • isIncoming

        public boolean isIncoming()
        Specified by:
        isIncoming in interface Peer
      • getClient

        public java.lang.String getClient()
        Specified by:
        getClient in interface Peer
      • getExpiredRequests

        public java.util.List getExpiredRequests()
        Specified by:
        getExpiredRequests in interface Peer
      • requestAllocationStarts

        public boolean requestAllocationStarts​(int[] base_priorities)
        Specified by:
        requestAllocationStarts in interface Peer
      • close

        public void close​(java.lang.String reason,
                          boolean closedOnError,
                          boolean attemptReconnect)
        Specified by:
        close in interface Peer
      • remove

        public void remove()
      • addListener

        public void addListener​(PeerListener2 listener)
        Description copied from interface: Peer
        Add peer listener.
        Specified by:
        addListener in interface Peer
      • removeListener

        public void removeListener​(PeerListener2 listener)
        Description copied from interface: Peer
        Remove peer listener.
        Specified by:
        removeListener in interface Peer
      • fireEvent

        protected void fireEvent​(int type,
                                 java.lang.Object data)
      • getConnection

        public Connection getConnection()
        Description copied from interface: Peer
        Get the network connection that backs this peer.
        Specified by:
        getConnection in interface Peer
        Returns:
        connection
      • supportsMessaging

        public boolean supportsMessaging()
        Description copied from interface: Peer
        Whether or not this peer supports the advanced messaging API.
        Specified by:
        supportsMessaging in interface Peer
        Returns:
        true if extended messaging is supported, false if not
      • getSupportedMessages

        public Message[] getSupportedMessages()
        Description copied from interface: Peer
        Get the list of messages that this peer and us mutually understand.
        Specified by:
        getSupportedMessages in interface Peer
        Returns:
        messages available for use, or null of supported is yet unknown
      • readBytes

        public int readBytes​(int max)
        Description copied from interface: Peer
        Rate control - gives the maximum number of bytes that can be read from this connection at this time and returns the actual number read
        Specified by:
        readBytes in interface Peer
        Returns:
      • writeBytes

        public int writeBytes​(int max)
        Specified by:
        writeBytes in interface Peer
      • addRateLimiter

        public void addRateLimiter​(RateLimiter limiter,
                                   boolean is_upload)
        Specified by:
        addRateLimiter in interface Peer
        Parameters:
        limiter - create via ConnectionManager
        is_upload - false -> download limit
      • getProperties

        public java.util.Map getProperties()
      • getName

        public java.lang.String getName()
      • setUserData

        public void setUserData​(java.lang.Object key,
                                java.lang.Object value)
        Specified by:
        setUserData in interface Peer
      • getUserData

        public java.lang.Object getUserData​(java.lang.Object key)
        Specified by:
        getUserData in interface Peer
      • setPriorityConnection

        public void setPriorityConnection​(boolean is_priority)
        Specified by:
        setPriorityConnection in interface Peer