Class Piece

java.lang.Object
org.klomp.snark.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 Details

    • Piece

      public Piece​(int id)
  • Method Details

    • compareTo

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

      public boolean equals​(Object o)
      Overrides:
      equals in class Object
    • 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
    • toString

      public String toString()
      Overrides:
      toString in class Object