Class Piece

  • All Implemented Interfaces:
    Comparable<Piece>

    class Piece
    extends Object
    implements Comparable<Piece>
    This class is used solely by PeerCoordinator. Caller must synchronize on many of these methods.
    • Constructor Detail

      • Piece

        public Piece​(int id)
    • Method Detail

      • compareTo

        public int compareTo​(Piece op)
        Highest priority first, then rarest first
        Specified by:
        compareTo in interface Comparable<Piece>
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • getId

        public int getId()
      • addPeer

        public boolean addPeer​(Peer peer)
        caller must synchronize
      • removePeer

        public boolean removePeer​(Peer peer)
        Caller must synchronize.
        Returns:
        true if removed
      • getPeerCount

        public int getPeerCount()
        How many peers have this piece? Caller must synchronize
        Since:
        0.9.1
      • isRequested

        public boolean isRequested()
        caller must synchronize
      • setRequested

        public void setRequested​(Peer peer,
                                 boolean requested)
        Since 0.8.3, keep track of who is requesting here, to avoid deadlocks from querying each peer. Caller must synchronize
      • isRequestedBy

        public boolean isRequestedBy​(Peer peer)
        Is peer requesting this piece? Caller must synchronize
        Since:
        0.8.3
      • getRequestCount

        public int getRequestCount()
        How many peers are requesting this piece? Caller must synchronize
        Since:
        0.8.3
      • clear

        public void clear()
        Clear all knowledge of peers Caller must synchronize
        Since:
        0.9.3
      • getPriority

        public int getPriority()
        Returns:
        default 0 @since 0.8.1
      • setPriority

        public void setPriority​(int p)
        Since:
        0.8.1
      • isDisabled

        public boolean isDisabled()
        Since:
        0.8.1
      • setDisabled

        public void setDisabled()
        Since:
        0.8.1