Package org.klomp.snark
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 Summary
Constructors Constructor Description Piece(int id)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
addPeer(Peer peer)
caller must synchronizevoid
clear()
Clear all knowledge of peers Caller must synchronizeint
compareTo(Piece op)
Highest priority first, then rarest firstboolean
equals(Object o)
int
getId()
int
getPeerCount()
How many peers have this piece? Caller must synchronizeint
getPriority()
int
getRequestCount()
How many peers are requesting this piece? Caller must synchronizeint
hashCode()
boolean
isDisabled()
boolean
isRequested()
caller must synchronizeboolean
isRequestedBy(Peer peer)
Is peer requesting this piece? Caller must synchronizeboolean
removePeer(Peer peer)
Caller must synchronize.void
setDisabled()
void
setPriority(int p)
void
setRequested(Peer peer, boolean requested)
Since 0.8.3, keep track of who is requesting here, to avoid deadlocks from querying each peer.String
toString()
-
-
-
Method Detail
-
compareTo
public int compareTo(Piece op)
Highest priority first, then rarest first- Specified by:
compareTo
in interfaceComparable<Piece>
-
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
-
-