Package com.biglybt.ui.swt.views
Class PiecesViewBase.PEPieceUploading
- java.lang.Object
-
- com.biglybt.ui.swt.views.PiecesViewBase.PEPieceUploading
-
- All Implemented Interfaces:
PEPiece
- Enclosing class:
- PiecesViewBase
public class PiecesViewBase.PEPieceUploading extends java.lang.Object implements PEPiece
-
-
Field Summary
Fields Modifier and Type Field Description private boolean[]
blocks
private boolean
complete
private DiskManagerPiece
dm_piece
private long
last_active
private CopyOnWriteSet<java.lang.String>
peers
private int
piece_number
private PEPeerManager
pm
-
Constructor Summary
Constructors Modifier Constructor Description private
PEPieceUploading(PEPeerManager _pm, DiskManagerPiece _dm_piece, int _piece_number)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
addUploading(boolean[] b, java.util.Set<java.lang.String> latest_peers)
void
addWrite(int blockNumber, java.lang.String sender, byte[] hash, boolean correct)
record details of a piece's blocks that have been completed for bad peer detection purposesvoid
clearDownloaded(int offset)
void
clearRequested(int blocNumber)
void
getAndMarkBlock(PEPeer peer, int index)
int[]
getAndMarkBlocks(PEPeer peer, int nbWanted, int[] request_hint, boolean reverse_order)
int
getAvailability()
int
getBlockNumber(int offset)
int
getBlockSize(int block_index)
long
getCreationTime()
The time the pePiece was [re]createdDiskManagerPiece
getDMPiece()
boolean[]
getDownloaded()
long
getLastDownloadTime(long now)
int
getLength()
PEPeerManager
getManager()
int
getNbBlocks()
int
getNbRequests()
int
getNbUnrequested()
int
getNbWritten()
int
getPieceNumber()
PiecePicker
getPiecePicker()
java.lang.Object
getRealTimeData()
java.lang.String
getReservedBy()
int
getResumePriority()
int
getSpeed()
java.lang.String
getString()
long
getTimeSinceLastActivity()
How many ms since a write to the piece, or since the piece was created if no last write time is known.CopyOnWriteSet<java.lang.String>
getUploadPeers()
java.lang.String[]
getWriters()
boolean
hasUndownloadedBlock()
boolean
hasUnrequestedBlock()
boolean
isDownloaded()
boolean
isDownloaded(int blockNumber)
boolean
isRequestable()
boolean
isRequested()
boolean
isRequested(int blockNumber)
boolean
isWritten()
boolean
isWritten(int blockNumber)
private boolean
readyToRemove()
void
reset()
void
setDownloaded(int offset)
void
setLastRequestedPeerSpeed(int speed)
void
setRealTimeData(java.lang.Object o)
void
setRequested()
boolean
setRequested(PEPeer peer, int blockNumber)
void
setReservedBy(java.lang.String peer)
void
setResumePriority(int p)
void
setSpeed(int speed)
void
setWritten(java.lang.String peer, int blockNumber)
-
-
-
Field Detail
-
pm
private final PEPeerManager pm
-
dm_piece
private final DiskManagerPiece dm_piece
-
piece_number
private final int piece_number
-
blocks
private final boolean[] blocks
-
peers
private final CopyOnWriteSet<java.lang.String> peers
-
complete
private boolean complete
-
last_active
private volatile long last_active
-
-
Constructor Detail
-
PEPieceUploading
private PEPieceUploading(PEPeerManager _pm, DiskManagerPiece _dm_piece, int _piece_number)
-
-
Method Detail
-
getPiecePicker
public PiecePicker getPiecePicker()
- Specified by:
getPiecePicker
in interfacePEPiece
-
getManager
public PEPeerManager getManager()
- Specified by:
getManager
in interfacePEPiece
-
getDMPiece
public DiskManagerPiece getDMPiece()
- Specified by:
getDMPiece
in interfacePEPiece
-
getPieceNumber
public int getPieceNumber()
- Specified by:
getPieceNumber
in interfacePEPiece
-
getNbBlocks
public int getNbBlocks()
- Specified by:
getNbBlocks
in interfacePEPiece
-
getBlockNumber
public int getBlockNumber(int offset)
- Specified by:
getBlockNumber
in interfacePEPiece
- Parameters:
offset
- int bytes into piece- Returns:
- block int number corresponding to given offset
-
getBlockSize
public int getBlockSize(int block_index)
- Specified by:
getBlockSize
in interfacePEPiece
-
addUploading
private void addUploading(boolean[] b, java.util.Set<java.lang.String> latest_peers)
-
readyToRemove
private boolean readyToRemove()
-
getUploadPeers
public CopyOnWriteSet<java.lang.String> getUploadPeers()
-
getCreationTime
public long getCreationTime()
Description copied from interface:PEPiece
The time the pePiece was [re]created- Specified by:
getCreationTime
in interfacePEPiece
-
getTimeSinceLastActivity
public long getTimeSinceLastActivity()
Description copied from interface:PEPiece
How many ms since a write to the piece, or since the piece was created if no last write time is known. The return value will be 0 when there's no writes and the piece is new.- Specified by:
getTimeSinceLastActivity
in interfacePEPiece
- Returns:
- long
-
getLastDownloadTime
public long getLastDownloadTime(long now)
- Specified by:
getLastDownloadTime
in interfacePEPiece
-
addWrite
public void addWrite(int blockNumber, java.lang.String sender, byte[] hash, boolean correct)
Description copied from interface:PEPiece
record details of a piece's blocks that have been completed for bad peer detection purposes
-
getNbWritten
public int getNbWritten()
- Specified by:
getNbWritten
in interfacePEPiece
-
getAvailability
public int getAvailability()
- Specified by:
getAvailability
in interfacePEPiece
-
hasUnrequestedBlock
public boolean hasUnrequestedBlock()
- Specified by:
hasUnrequestedBlock
in interfacePEPiece
-
getAndMarkBlocks
public int[] getAndMarkBlocks(PEPeer peer, int nbWanted, int[] request_hint, boolean reverse_order)
- Specified by:
getAndMarkBlocks
in interfacePEPiece
-
getAndMarkBlock
public void getAndMarkBlock(PEPeer peer, int index)
- Specified by:
getAndMarkBlock
in interfacePEPiece
-
getRealTimeData
public java.lang.Object getRealTimeData()
- Specified by:
getRealTimeData
in interfacePEPiece
-
setRealTimeData
public void setRealTimeData(java.lang.Object o)
- Specified by:
setRealTimeData
in interfacePEPiece
-
setRequested
public boolean setRequested(PEPeer peer, int blockNumber)
- Specified by:
setRequested
in interfacePEPiece
-
clearRequested
public void clearRequested(int blocNumber)
- Specified by:
clearRequested
in interfacePEPiece
-
isRequested
public boolean isRequested(int blockNumber)
- Specified by:
isRequested
in interfacePEPiece
-
isRequested
public boolean isRequested()
- Specified by:
isRequested
in interfacePEPiece
-
setRequested
public void setRequested()
- Specified by:
setRequested
in interfacePEPiece
-
isRequestable
public boolean isRequestable()
- Specified by:
isRequestable
in interfacePEPiece
-
getNbRequests
public int getNbRequests()
- Specified by:
getNbRequests
in interfacePEPiece
-
getNbUnrequested
public int getNbUnrequested()
- Specified by:
getNbUnrequested
in interfacePEPiece
-
isDownloaded
public boolean isDownloaded(int blockNumber)
- Specified by:
isDownloaded
in interfacePEPiece
-
setDownloaded
public void setDownloaded(int offset)
- Specified by:
setDownloaded
in interfacePEPiece
-
clearDownloaded
public void clearDownloaded(int offset)
- Specified by:
clearDownloaded
in interfacePEPiece
-
isDownloaded
public boolean isDownloaded()
- Specified by:
isDownloaded
in interfacePEPiece
-
getDownloaded
public boolean[] getDownloaded()
- Specified by:
getDownloaded
in interfacePEPiece
-
hasUndownloadedBlock
public boolean hasUndownloadedBlock()
- Specified by:
hasUndownloadedBlock
in interfacePEPiece
-
getReservedBy
public java.lang.String getReservedBy()
- Specified by:
getReservedBy
in interfacePEPiece
-
setReservedBy
public void setReservedBy(java.lang.String peer)
- Specified by:
setReservedBy
in interfacePEPiece
-
getResumePriority
public int getResumePriority()
- Specified by:
getResumePriority
in interfacePEPiece
- Returns:
- int ResumePriority (startPriority + resuming adjustments)
-
setResumePriority
public void setResumePriority(int p)
- Specified by:
setResumePriority
in interfacePEPiece
- Parameters:
p
- the Resume Priority to set, for display purposes
-
getWriters
public java.lang.String[] getWriters()
- Specified by:
getWriters
in interfacePEPiece
-
setWritten
public void setWritten(java.lang.String peer, int blockNumber)
- Specified by:
setWritten
in interfacePEPiece
-
setLastRequestedPeerSpeed
public void setLastRequestedPeerSpeed(int speed)
- Specified by:
setLastRequestedPeerSpeed
in interfacePEPiece
-
-