Class DiskManagerReadRequestImpl
java.lang.Object
com.biglybt.core.disk.impl.access.impl.DiskManagerRequestImpl
com.biglybt.core.disk.impl.access.impl.DiskManagerReadRequestImpl
- All Implemented Interfaces:
DiskManagerReadRequest
,DiskManagerRequest
,PeerReadRequest
public class DiskManagerReadRequestImpl
extends DiskManagerRequestImpl
implements DiskManagerReadRequest
This class represents a Bittorrent Request.
and a time stamp to know when it was created.
Request may expire after some time, which is used to determine who is snubbed.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate boolean
private static final int
private boolean
private final int
private boolean
private final int
private final int
private final int
private long
private long
private boolean
Fields inherited from class com.biglybt.core.disk.impl.access.impl.DiskManagerRequestImpl
DEBUG
Fields inherited from interface com.biglybt.pif.peers.PeerReadRequest
NORMAL_REQUEST_SIZE
-
Constructor Summary
ConstructorsConstructorDescriptionDiskManagerReadRequestImpl
(int _pieceNumber, int _offset, int _length) Parameters correspond to bittorrent parameters -
Method Summary
Modifier and TypeMethodDescriptionvoid
cancel()
boolean
We override the equals method 2 requests are equals if all their bt fields (piece number, offset, length) are equalboolean
getFlush()
int
protected String
getName()
int
int
long
long
boolean
int
hashCode()
boolean
boolean
Method to determine if a Request has expiredboolean
void
resetTimeMono
(long mono_now) Allow some more time to the request.void
setFlush
(boolean _flush) If flush is set then data held in memory will be flushed to disk during the read operationvoid
void
setTimeSent
(long time) void
setUseCache
(boolean cache) Methods inherited from class com.biglybt.core.disk.impl.access.impl.DiskManagerRequestImpl
getErrorIsFatal, requestEnds, requestStarts, setErrorIsFatal
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.biglybt.core.disk.DiskManagerRequest
getErrorIsFatal, requestEnds, requestStarts, setErrorIsFatal
-
Field Details
-
EXPIRATION_TIME
private static final int EXPIRATION_TIME- See Also:
-
pieceNumber
private final int pieceNumber -
offset
private final int offset -
length
private final int length -
hashcode
private final int hashcode -
timeCreatedMono
private long timeCreatedMono -
timeSent
private long timeSent -
flush
private boolean flush -
cancelled
private boolean cancelled -
use_cache
private boolean use_cache -
latency_test
private boolean latency_test
-
-
Constructor Details
-
DiskManagerReadRequestImpl
public DiskManagerReadRequestImpl(int _pieceNumber, int _offset, int _length) Parameters correspond to bittorrent parameters- Parameters:
pieceNumber
-offset
-length
-
-
-
Method Details
-
getName
- Specified by:
getName
in classDiskManagerRequestImpl
-
isExpired
public boolean isExpired()Method to determine if a Request has expired- Specified by:
isExpired
in interfacePeerReadRequest
- Returns:
- true if the request is expired
-
resetTimeMono
public void resetTimeMono(long mono_now) Allow some more time to the request. Typically used on peers that have just sent some data, we reset all other requests to give them extra time.- Specified by:
resetTimeMono
in interfacePeerReadRequest
-
getPieceNumber
public int getPieceNumber()- Specified by:
getPieceNumber
in interfaceDiskManagerReadRequest
- Specified by:
getPieceNumber
in interfacePeerReadRequest
-
getOffset
public int getOffset()- Specified by:
getOffset
in interfaceDiskManagerReadRequest
- Specified by:
getOffset
in interfacePeerReadRequest
-
getLength
public int getLength()- Specified by:
getLength
in interfaceDiskManagerReadRequest
- Specified by:
getLength
in interfacePeerReadRequest
-
setFlush
public void setFlush(boolean _flush) Description copied from interface:DiskManagerReadRequest
If flush is set then data held in memory will be flushed to disk during the read operation- Specified by:
setFlush
in interfaceDiskManagerReadRequest
-
getFlush
public boolean getFlush()- Specified by:
getFlush
in interfaceDiskManagerReadRequest
-
setUseCache
public void setUseCache(boolean cache) - Specified by:
setUseCache
in interfaceDiskManagerReadRequest
-
getUseCache
public boolean getUseCache()- Specified by:
getUseCache
in interfaceDiskManagerReadRequest
-
cancel
public void cancel()- Specified by:
cancel
in interfacePeerReadRequest
-
isCancelled
public boolean isCancelled()- Specified by:
isCancelled
in interfacePeerReadRequest
-
equals
We override the equals method 2 requests are equals if all their bt fields (piece number, offset, length) are equal- Specified by:
equals
in interfaceDiskManagerReadRequest
- Overrides:
equals
in classObject
-
hashCode
public int hashCode()- Specified by:
hashCode
in interfaceDiskManagerReadRequest
- Overrides:
hashCode
in classObject
-
getTimeCreatedMono
public long getTimeCreatedMono()- Specified by:
getTimeCreatedMono
in interfaceDiskManagerReadRequest
-
setTimeSent
public void setTimeSent(long time) - Specified by:
setTimeSent
in interfaceDiskManagerReadRequest
-
getTimeSent
public long getTimeSent()- Specified by:
getTimeSent
in interfaceDiskManagerReadRequest
-
setLatencyTest
public void setLatencyTest()- Specified by:
setLatencyTest
in interfaceDiskManagerReadRequest
-
isLatencyTest
public boolean isLatencyTest()- Specified by:
isLatencyTest
in interfaceDiskManagerReadRequest
-